javascript - Ajax 帖子说未定义 laravel 6
问题描述
一旦有一些更改,我正在尝试使用 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']);
查询:
$('.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(内部服务器错误)
我越来越“未定义”。
更新:查看日志后已解决。我正在创建新对象而不是更新它们并得到错误:没有默认字段值
解决方案
在您的数据帖子中添加 csrf 字段,如下所示:
data: {
id : update_id,
invoice : invoice,
paid : payment,
_token: '{{csrf_token()}}'
},
推荐阅读
- pdf - 使用 PDF 阅读器在所有当前打开的 pdf 文档中查找/搜索?
- solr - Solr 查询字段回退
- node.js - 如何在浏览器中访问 swagger api 文档
- java - 如何让 karaf rest 示例工作?
- java - .contains 从文本文件读取时不起作用?
- sql - 无法启用自定义语言注入规则
- c++ - 为什么 C++ 容器和迭代器要求将 size_type 和 difference_type 指定为整数类型?
- active-directory - 如果 Web 应用程序对来自另一个域的用户进行身份验证,这是否意味着它可以使用 LDAP?
- naivebayes - 标准化如何影响 Naive Bays 分类器
- python - 如何在数据库中保存数据属性?