Ajax 帖子说未定义 laravel 6

Posted

技术标签:

【中文标题】Ajax 帖子说未定义 laravel 6【英文标题】:Ajax post says undefined laravel 6 【发布时间】:2020-06-16 11:21:03 【问题描述】:

一旦有一些更改,我会尝试使用 AJAX 更新我的数据库,但我似乎错过了一些东西。

我的控制器:

    // Update dates
public function updateDates(Request $request)

    // dd($input);
    $event = new Event();
    $event->invoice = $request->input('invoice');
    $event->paid = $request->input('paid');
    $event->save();

    return response()->json(['success'=>'Got Simple Ajax Request.']);

路线:

    //Events
Route::resource('event', 'EventController');
Route::post('/updateDates', ['as' => 'updateDates', 'uses' => 'EventController@updateDates']);

jquery:

 $('.datepickerstart').datepicker(
        autoclose: true,
        todayHighlight: true,
        format: 'yyyy-mm-dd'
    ).on('changeDate', function(e) 
        e.preventDefault();

        var update_id = $(this).data('evid');
        var invoice = $("input[name=invoice_date]").val();
        var payment = $("input[name=payment_date]").val();

        console.log(update_id, invoice, payment);

        $.ajax(
           method:'post',
           url:' route("updateDates") ',
           dataType:'JSON',
           data:  
                id : update_id,
                invoice : invoice,
                paid : payment 
            ,
           success: function(data) 
                    alert(data.success);

            
        );        
);

我会在 ajax 发布之前控制台记录正确的数据。我的控制器中甚至无法 dd() 请求,我做错了什么?

控制台错误:

VM4649:1 POST http://localhost:8000/updateDates 500(内部服务器 错误)

我越来越“未定义”。

更新:查看日志后已解决。我正在创建新对象而不是更新它们并得到错误:没有默认字段值

【问题讨论】:

问:您的首要任务是:您的 JS 中的“未定义”错误……还是服务器上的 HTTP 500 错误?问:知道是什么导致了 HTTP 500 错误吗?问:您能否发布显示服务器端错误的相关服务器日志? 谢谢,查看日志后提供帮助 【参考方案1】:

在您的数据帖子中添加 csrf 字段,如下所示:

data:  
   id : update_id,
   invoice : invoice,
   paid : payment,
   _token: 'csrf_token()' 
,

【讨论】:

以上是关于Ajax 帖子说未定义 laravel 6的主要内容,如果未能解决你的问题,请参考以下文章

未定义的变量:Laravel中的错误

Graphql说未定义类型的验证错误

Python,如果带有变量的语句错误说未定义

req.body 在邮递员上运行时说未定义

为啥我总是在这个 ajax 帖子到 php 时得到未定义的响应?

带有循环和字符串选择器的未定义 ajax 帖子