尝试发布AJAX请求时,POST 405(方法不允许) - Laravel 5.5

时间:2018-03-14 10:09:52

标签: javascript php jquery ajax laravel-5.5

我正在尝试发布一个简单的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)但不能解决问题。

ERROR IMAGE

2 个答案:

答案 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:我有同样的问题。只需注释掉这一行即可解决问题。 编码愉快:)