2
私のアプリケーションのすべてのページに含まれるタイル規格のjspがあります。私は、アプリケーションのすべてのAjaxリクエストにセキュリティトークンを注入しようとしています。そのために、以下のスニペットをこのJSPのhead要素に書きました。問題は、ほとんどの場合、ajax呼び出しが予想通りにインターセプトされ、トークンがデータに挿入されることです。しかし、場合によってはbeforesendメソッドが呼び出されないため、トークンが要求に存在しません。他の人がいる間にAjaxコールが傍受されない理由はわかりません。Ajax beforesendメソッドが動作しない場合があります
$(document).ready(function() {
$.ajaxSetup({
beforeSend: function(xhr, settings) {
var controlId = "<c:out value='${XXXControlIDXXX}' />";
// Injecting CSRF token id into data
if(controlId!=null) {
var csrfData = {
XXXControlIDXXX : controlId
}
settings.data += "&" + $.param(csrfData);
}
}
});
});
それは 'beforeSend'が断続的に失敗している可能性は非常に低いです。要求にデータがないか、 '$ .ajaxSetup'が実行される前にAJAX呼び出しを行っている可能性が高くなります。 –
@RaviRanjanタイトルは同じですが、質問と解決策はこの状況に関連して表示されません。 –
@RoryMcCrossan - $ .ajaxsetupの前にajaxコールを作成するにはどうすればいいですか? – rj4u