beforeSend
送信前にリクエストを変更するために使用します。これはすべて、リンク先のドキュメントで説明されています。
グローバルajaxSend
イベントは、リクエストを改ざんするのに役立ちません。あなたが得ることができるグローバルに最も近いものは callであり、その後のすべての ajax 呼び出しのデフォルトになるようにオプションをajaxSetup
渡します。beforeSend
XMLHttpRequest
オブジェクトからリクエスト ヘッダーを取得する簡単な方法はないようです。ただし、ロギングヘッダーを自分で設定していると想定しているため、これらのヘッダーの設定にフックして、それらへのアクセス可能な参照を保存できる場合があります。
XMLHttpRequest.prototype.readableHeaders = {};
XMLHttpRequest.prototype.proxiedSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
XMLHttpRequest.prototype.setRequestHeader = function(header, value) {
this.proxiedSetRequestHeader(header, value);
this.readableHeaders[header] = value;
};
jqXHR.readableHeaders
このようにして、特定のログ ヘッダーのオブジェクトを直接検査し、必要に応じて文字列を切り捨てるためにもう一度beforeSend
呼び出すことができるはずです。setRequestHeader
ヘッダーを取得するには、jqXHR オブジェクトから XMLHttpRequest の基になるインスタンスにアクセスする必要があります。関数を使用xhr()
してインスタンスを取得します。
$.ajaxSetup({
beforeSend: function (jqXHR, settings) {
console.log( settings.xhr().readableHeaders );
}
});