我在使用Laravel进行POST请求时遇到了问题。我的路由定义为POST,AJAX中使用的方法也是POST,但它一直发送GET请求。如果我将路由更改为未定义的路由,则会发送POST请求,但是如果我指定为POST的这个路由则会发送GET请求。
AJAX:
$.ajax({
method: "POST",
url: "{{ url('admin/rentacar/save_availability_for_d') }}",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: $(form).serialize(),
dataType: "json",
success(result){
//
}
});
路由被定义为:
Route::post('save_availability_for_d', [
'as' => 'save_availability_for_d',
'uses' => 'RentacarController@saveCarAdjustment'
]);
CSRF令牌包含在元标签中:
<meta name="csrf-token" content="{{ csrf_token() }}">
以下是我尝试发送AJAX请求时控制台显示的内容:
XHR finished loading: GET "http://www.carsrental.me/public/me/admin/rentacar/save_availability_for_d".
如果我在结尾添加一个随机字符以寻求不存在的路由,将会发生什么:
XHR failed loading: POST "http://www.carsrental.me/public/admin/rentacar/save_availability_for_dd".
/api/admin/rentacar/save_availability_for_d
。这不是解决方案,但更加简洁。 - SuperDJ