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的主要内容,如果未能解决你的问题,请参考以下文章