我正在尝试发布一个简单的AJAX请求来填充Laravel中的菜单,但是,我在使其正常工作方面遇到了很多麻烦。
我不确定问题是什么,经过几个小时的搜索后,我找不到任何有用的东西。
这是我的AJAX请求:
$.ajax({
type : 'post',
url : url,
data : formData,
success:function(data){
console.log(data);
}
});
我的AJAX回调路径:
Route::post('/newCustomer','CustomerController@newCustomer');
发送AJAX请求时,它会返回错误参数中的失败消息,并在控制台中告诉我:
POST http://localhost:8000/ 405 (Method Not Allowed)
提供完整的URL:POST http://localhost:8000/ 405(Method Not Allowed)但不能解决问题。
答案 0 :(得分:0)
您需要传递csrf_token。在<head>
<meta name="csrf-token" content="{{ csrf_token() }}">
然后在ajax
$.ajax({
type : 'post',
url : url,
data : formData,
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}, //Add this <-----
success:function(data){
console.log(data);
}
});
答案 1 :(得分:0)
您是否在表单提交处理程序中编写了这样的内容?
$('#some_name').on('action', function (e) {
e.preventDefault(); //<---if yes then comment this line of code.
}
N.B:我有同样的问题。只需注释掉这一行即可解决问题。 编码愉快:)