gpt4 book ai didi

javascript - Laravel 5.2 中 Ajax 返回 500 错误

转载 作者:行者123 更新时间:2023-12-03 06:45:16 34 4
gpt4 key购买 nike

Laravel 5.2 - 新应用程序

我刚刚回到 Laravel,并且在处理 ajax post 时遇到了麻烦。

基本上,当您对列表重新排序时,它会调用 ajax 来更改顺序并将其保存在数据库中。我一直在研究,但似乎没有人能帮助我..

到目前为止我所拥有的......

html/blade.php代码:

<ul class="sortable">
@foreach ($pages as $page)
<li class="ui-state-default" data-id="{{ $page->id }}">{{ $page->name }}</li>
@endforeach
</ul>

Ajax

$(function() {
$('.sortable').sortable().bind('sortupdate', function(e, ui) {

var id = $('ul.sortable li').map(function(){
return $(this).data("id");
}).get();

$.ajax({
method: 'post',
url: '/abc',
data: {
id: id,
_token: token
},
dataType: 'json',
error: function (data) {
console.log('Error:', data);
},
success: function (msg) {
alert(msg);
}
});


});
});

路由.php

Route::post('abc', 'HomeController@SomeFunction');

Controller

public function SomeFunction(Request $request){


$id = $request->input('id');

$i = 1;

foreach($id as $val) {

$page = Page::where('id', (int)$val)->first();

$page->order = $i;
$page->save();

$i++;

}


}

更新:

感谢上面每个人的支持,我已经提出了人们帮助我更好地编码并解决问题的所有建议...我还发现,当我将 $val 转换为 int 时,它正在更新数据库。谢谢你

最佳答案

如果你想在 Laravel 中使用 jquery ajax,你需要在 ajax 请求数据中传递 laravel token !

 data: {
id: 'id', _token: token
},

两个快速提示,您无需在 html 和任何 ajax 设置中使用元标记。您唯一需要做的就是在 View 中创建一个名为 token var token = '{{Session::token()}}' 的变量,然后将其传递到 ajax 数据中。其他提示是,您可以在 View 中为帖子路由创建一个变量 var url = '{{Route("name")}}',而不是使用静态 url。

关于javascript - Laravel 5.2 中 Ajax 返回 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37767184/

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