javascript - Laravel 5.2 中 Ajax 返回 500 错误

标签 javascript php ajax laravel

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/

相关文章:

javascript - 在nodeJS中解析Coinmarketcap JSON数组

javascript - 如何设置极地面积图中比例尺数字的样式 (chart.js)

javascript - 使用 php 用 js 创建警报

php - SQL选择最后一个查询中不重复出现的3个随机行

javascript - 将 jQuery.ajax() 替换为 Go REST API 端点的 fetch() - 空负载

javascript - 第一次克隆后 jQuery 克隆表行

php - 根据 2 列中的数据插入或更新行 - 1 个主列和 1 个唯一列

php - Yii2 where 条件与 concat

ajax - Ajax&Grails-成功使用Ajax时如何使用模型中的参数?

javascript - 无法读取未定义的属性 'toLowerCase' (Angularjs/JavaScript/Json)