一尘不染

尝试发布AJAX请求时的POST 405(不允许使用方法)-Laravel 4

ajax

我试图发出一个简单的AJAX请求来填充Laravel中的菜单,但是,要使其正常工作,我遇到了很多麻烦。

我不确定是什么问题,经过几个小时的搜索,我找不到任何可以帮助的东西。

这是我的AJAX请求:

$.ajax({
            type: 'POST',
            url: '/ajax/populateApiAuth',
            data: json,
            dataType: 'JSON',
            success: function (json) {
                alert('test');
                return true;
            },
            error: alert('fail')
});

我到AJAX回调的路线:

Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');

和我的控制器来处理ApiController中的AJAX回调:

public function populateApiAuth()
    {
        return Response::json(array('msg' => 'test');
    }

发送AJAX请求时,它会在错误参数中返回失败消息,并在控制台中告诉我:

POST http://localhost:8000/ajax/populateApiAuth 405 (Method Not Allowed)

研究此错误消息,是由于向其他域/服务器发出POST请求而导致的?怎么会这样?

我试图对AJAX请求使用绝对URL,方法是:

url: '{{ URL::to("ajax/populateApiAuth") }}

它提供了完整的URL:http://localhost:8000/ajax/populateApiAuth但是也不能解决问题。


阅读 646

收藏
2020-07-26

共1个答案

一尘不染

这不是你的问题吗?

Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');

您为GET请求设置了路由,但是您试图通过POST请求访问它。

2020-07-26