我有一个简单的按钮可以引发此Ajax请求:
function myfunction(param){
var date_debut = $('#datet_debut').val();
var date_fin = $('#date_fin').val();
$.ajax({
url: '{{ route('createDispo') }}',
type: 'POST',
dataType: "json",
data: {
date_debut: name,
date_fin: name,
},
success: function (data) {
alert('success');
},
error: function (e) {
console.log(e.responseText);
}
});
}
但是我有这个错误:
Symfony \组件\ HttpKernel \ Exception \ MethodNotAllowedHttpException没有消息
这样生成路线:
Route::post('/createDispo','DepotDispoController@createDispo')->name('createDispo');
这是处理请求的控制器:
public function createDispo(Request $request){
$user = User::find($request->user_id);
$disponibilite = new Disponibilite();
$disponibilite->date_debut = $request->date_debut;
$disponibilite->date_fin = $request->date_fin;
$user->disponibilites()->save($disponibilite);
}
那么,为什么我的Ajax请求不起作用?
答案 0 :(得分:0)
请记住要检查路线中的方法是否与您提交的方法相对应。
此外,在通过Ajax提交POST请求时,您必须设置csrf令牌:
在您的HTML标头中
<meta name="csrf-token" content="{{ csrf_token() }}">
ajax调用之前:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});