我试图发出一个简单的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但是也不能解决问题。
http://localhost:8000/ajax/populateApiAuth
这不是你的问题吗?
您为GET请求设置了路由,但是您试图通过POST请求访问它。