laravel v5.5.24で動作するようにajaxポストを取得することができません。ここに私のAJAX呼び出しが次のようになります。ここではCSRFトークンが含まれていても、Laravel ajaxポストが機能しない
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "/postCustomer?XDEBUG_SESSION_START=19683",
type: 'POST',
data: {_token: CSRF_TOKEN, message:myData, "_method": 'POST'},
dataType: 'JSON',
success: function (data) {
console.log('call to postCustomer successful');
}
});
は私のルートです:
Route::post('/postCustomer','[email protected]');
この問題について興味深いのは、すべてのポストのがの(両方のAJAX呼び出し中に取得するように変更された場合ということですそして経路で)要求は到着し、正しく処理されます。デバッグが起動され、すべて正常です。ただし、ルートとajax呼び出しがPOSTに設定されていると、デバッグは実行されず、リクエストは実行されません。もちろん、これはCRSFの問題のような臭いですが、ヘッダーにCRSFトークンを含めています。
あなたは、データオブジェクト内の '_token'を渡す必要はありません。 CSRFトークンは自動的に '$ .ajaxSetup()'によってヘッダに追加されます。ネットワークリクエストのスクリーンショットを投稿できますか? –
フォームのタグ内にコードを投稿できますか? –
あなたはコンソールにチェックを入れましたか? – Bugfixer