【发布时间】:2017-10-06 08:34:00
【问题描述】:
我正在尝试通过我的整个应用程序运行 Ajax 发布调用,它将更新导航。在某些页面上它可以工作,但在其他页面上却不行,我该如何解决这个问题并使其成为全球性的。
我使用 Laravel 作为 php 框架。
# Middleware group if user is logged in
Route::group(['middleware' => 'auth'], function () {
# Notifications
Route::group(['prefix' => 'notification', 'as' => 'notification.'], function () {
Route::post('number', ['as' => 'number', 'uses' => 'NotificationController@number']);
});
Route::group(['prefix' => 'relation', 'as' => 'relation.'], function () {
Route::get('show/{id}', ['as' => 'show', 'uses' => 'RelationController@show']);
});
});
在我的 layouts/app.blade.php 我包含这样的 js 文件
<script src="{{ asset('js/liveUpdater.js') }}"></script>
@yield('javascript')
liveUpdater ajax 函数
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
}
});
$.ajax({
url: 'number',
type: 'post',
success: function(data) {
$('#number-of-notifications').text(data.unread);
},
error: function(data) {
console.log('error number ' + data.data);
}
});
Url http://localhost/myApp/public/notification/all 返回一条成功消息。
但是像这样http://localhost/myApp/public/relation/show/1这样的url会返回错误消息:
number /myApp/public/relation/show 405 Method Not Allowed
【问题讨论】:
-
当您向定义为接受 GET 请求的路由发出 POST 请求或向定义为接受 POST 的路由发出 GET 请求时,您会收到此错误
标签: javascript php jquery ajax laravel