我试图发出一个简单的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请求而导致的?这怎么可能?
我try 使用绝对URL作为AJAX请求:
url: '{{ URL::to("ajax/populateApiAuth") }}
它给出了完整的URL:http://localhost:8000/ajax/populateApiAuth
,但这也不能解决问题.