【发布时间】:2019-09-11 02:24:33
【问题描述】:
我正在制作一个由 Ajax 调用的表单,并尝试将表单配置为使用 Ajax 提交。该表单应该通过 route('ruangrapat.store) 提交数据。但是每次我提交表单时,当我在 Ajax 中不使用 csrf_token() 以及在 Ajax 中使用 csrf_token() 时,它都会返回 419 状态。它总是返回 500 内部服务器错误。有人可以帮我解决这个问题吗?我一直在阅读我在互联网上找到的几乎所有讨论,但仍然没有答案。
也许我在我的代码中遗漏了一些重要的东西。请检查我的代码。
//ajax
$(document).ready(function(){
$('#form-ruangrapat').on('submit',function(e){
e.preventDefault();
var formdata=$('#form-ruangrapat').serialize();//should i do this??
//if i should take the value of inputs 1 by 1,please show me the proper way
var token="{!!csrf_token()!!}"
$.ajax({
url:"{{route('ruangrapat.store')}}",
data: {formData:formdata,_token:token},
type:'post',
success:function(result){
$('#result').html(result);
}
});
});
});
//controller
public function store(Request $request)
{
$data = new Ruangrapat();
...
$data->contact = $request->get('contact');
$data->save();
return view('ajax-result.ruangrapat.index')->with('status', 'Ruang rapat baru berhasil ditambahkan!');
//is this return value correct??
}
//route
Route::resource('ruangrapat', 'RuangrapatController');
【问题讨论】:
-
您的路线 {{route('ruangrapat.store')}} 在该控制器中必须有一些错误。签入 storage/logs/current_date.log 你会得到那里列出的错误。
标签: javascript ajax laravel laravel-5