gpt4 book ai didi

javascript - 删除 - 批量操作 - Laravel

转载 作者:行者123 更新时间:2023-11-30 20:59:32 25 4
gpt4 key购买 nike

我正在尝试执行批量删除操作。(一次删除多个项目)。现在使用下面的代码,所选项目已被删除,但它仍然返回 alert('Whoops Something went wrong!'); 为什么会这样?

HTML

    <button style="margin-bottom: 10px" class="btn delete_all" data-url="{{ url('item/deleteAll') }}">Delete All Selected</button> 



<tbody>
@foreach($items as $item)
<tr id="{{$item->id}}" >
<td><input type="checkbox" class="sub_chk" data-id="{{$item->id}}"></td>
</tr>
@endforeach
</tbody>

JS

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-confirmation/1.0.5/bootstrap-confirmation.min.js"></script>

<script type="text/javascript">
$(document).ready(function () {

$('#master').on('click', function(e) {
if($(this).is(':checked',true))
{
$(".sub_chk").prop('checked', true);
} else {
$(".sub_chk").prop('checked',false);
}
});

$('.delete_all').on('click', function(e) {

var allVals = [];
$(".sub_chk:checked").each(function() {
allVals.push($(this).attr('data-id'));
});

if(allVals.length <=0)
{
alert("Please select row.");
}

else {

var check = confirm("Are you sure you want to delete this row?");
if(check == true){

var join_selected_values = allVals.join(",");

$.ajax({
url: $(this).data('url'),
type: 'GET',
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
data: 'ids='+join_selected_values,

success: function (data) {
if (data['success'])
{
$("#" + data['tr']).slideUp("slow");
alert(data['success']);
}
else if (data['error'])
{
alert(data['error']);
}
else
{ //this is where the issue is
alert('Whoops Something went wrong!!');
}
},
error: function (data) {
alert(data.responseText);
}
});

$.each(allVals, function( index, value )
{
$('table tr').filter("[data-row-id='" + value + "']").remove();
});
}
}
});

$('[data-toggle=confirmation]').confirmation({
rootSelector: '[data-toggle=confirmation]',
onConfirm: function (event, element) {
element.trigger('confirm');
}
});

$(document).on('confirm', function (e) {
var ele = e.target;
e.preventDefault();

$.ajax({
url: ele.href,
type: 'GET',
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
success: function (data) {
if (data['success'])
{
$("#" + data['tr']).slideUp("slow");
alert(data['success']);
}
else if (data['error']) {
alert(data['error']);
}
else
{
alert('Whoops Something went wrong!!');
}
},
error: function (data) {
alert(data.responseText);
}
});

return false;
});
});
</script>

路线

Route::get('item/deleteAll','controller@deleteAll');    

Controller

 public function deleteAll(Request $request)
{
$ids = $request->ids;
DB::table("items")->whereIn('id',explode(",",$ids))->delete();
return redirect('item/all')->with('status','Items Successfully deleted!');

}

最佳答案

因为这是一个ajax调用,你应该返回类似的东西

return ['success' => 1];

来自您的 Controller ,而不是重定向。

一个例子:

    public function deleteAll(Request $request)
{
$ids = $request->ids;
DB::table("items")->whereIn('id',explode(",",$ids))->delete();

if(request()->ajax()) {
return ['success' => 1];
}

return redirect('item/all')->with('status','Items Successfully deleted!');
}

关于javascript - 删除 - 批量操作 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47268607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com