私はアプリケーション全体を通してAjaxポストコールを実行しようとしていますが、ナビゲーションを更新します。いくつかのページでは動作しますが、他のページではそうではありませんが、どうすればこの問題を解決してグローバルにすることができますか。Laravel Ajaxページ全体を呼び出す
私はLaravelをPHPフレームワークとして使用しています。私のレイアウト/ app.blade.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]']);
});
});
私は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のURLのようなファイルがあります。
しかし、このhttp://localhost/myApp/public/relation/show/1ような例のURLは、エラーメッセージを返します:
number /myApp/public/relation/show 405 Method Not Allowed
GET要求を受け入れるように定義された経路にPOST要求を行うか、POSTを受け入れるように定義された経路にGET要求を送るときにこのエラーが発生する –