我可以这样做:
$.ajax({
type: "GET",
async: true,
url: '/someurl/',
dataType: 'json',
success: function (data) {
console.log(data);
}
});
网络:
Route::get('/someurl','MyController@myfunction');
它的效果很好,但是当我尝试使用post:
时 $.ajax({
type: "POST",
async: true,
url: '/someurl/',
dataType: 'json',
success: function (data) {
console.log(data);
}
});
Route::post('/someurl','MyController@myfunction');
我在控制台中收到405方法不允许的错误消息
答案 0 :(得分:2)
POST
需要CSRF Token
传递POST Method
$.ajax({
type: "POST",
async: true,
url: '/someurl/',
dataType: 'json',
data : {"_token":"{{ csrf_token() }}"} //pass the CSRF_TOKEN()
success: function (data) {
console.log(data);
}
});
或
设置头元标记
<meta name="csrf_token" content="{{ csrf_token() }}" />
设置标题ajax
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
答案 1 :(得分:1)
使用
添加另一条路线 Route::post('/someurl','MyController@myfunction');
顺便说一句,你没有发送任何数据,在帖子中我们需要正确发送数据..
同时检查csrf令牌是否在数据中传递,如果不是如上所述,请尝试手动添加。
如果您使用{{Form...}}
,它会自动添加到表单数据中。