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

use*_*990 14 javascript php ajax jquery laravel

我正在尝试发布一个简单的AJAX请求来填充Laravel中的菜单,但是,我在使其正常工作方面遇到了很多麻烦.

我不确定是什么问题,经过几个小时的搜索,我找不到任何有用的东西.

这是我的AJAX请求:

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

我的AJAX回调路线:

Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');
Run Code Online (Sandbox Code Playgroud)

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

public function populateApiAuth()
    {
        return Response::json(array('msg' => 'test');
    }
Run Code Online (Sandbox Code Playgroud)

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

POST http://localhost:8000/ajax/populateApiAuth 405 (Method Not Allowed) 
Run Code Online (Sandbox Code Playgroud)

研究此错误消息,是因为向其他域/服务器发出POST请求?怎么会这样?

我试图使用AJAX请求的绝对URL:

url: '{{ URL::to("ajax/populateApiAuth") }}
Run Code Online (Sandbox Code Playgroud)

它提供了完整的URL:http://localhost:8000/ajax/populateApiAuth但这也没有解决问题.

Way*_*tty 48

这不是你的问题吗?

Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');
Run Code Online (Sandbox Code Playgroud)

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

  • 当它让我的时候,我会接受你的答案,让这成为未来Laravelers的一个例子,它们陷入了同样的愚蠢错误!:) (2认同)