我想通过我的整个应用程序运行一个Ajax调用,它应该更新导航。在一些页面上它可以工作,但在另一些页面上它却没有,我该如何解决这个问题并使其成为全球性的。Laravel 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' => '[email protected]']);
});
Route::group(['prefix' => 'relation', 'as' => 'relation.'], function() {
Route::get('show/{id}', ['as' => 'show', 'uses' => '[email protected]']);
});
});
在我的布局/ 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);
}
});
网址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请求发送POST请求时,您会收到此错误 –