web-dev-qa-db-ja.com

Jquery Ajaxでリクエストにヘッダーを追加する方法は?

JQueryを使用してAjaxでリクエストにヘッダーを追加しようとしています。

以下はコードです:-

$ .ajax({
タイプ: "POST"、
 contentType: "application/json"、
 url: "http:// localhost:8080/core-service/services /v1.0/patients/registerPatients",
 data:JSON.stringify(patientDTO)、
 // crossDomain:true、
 dataType: 'json'、
ヘッダー:{"X-AUTH-TOKEN":tokken}、
 success:function(patientDTO){
 console.log( "SUCCESS:"、patientDTO); 
/* location.href = "fieldagentHRA.html"; */
 if(typeof(Storage)!== "undefined"){
 localStorage.setItem( "patUrn"、patientDTO.data); 
 location.href = "fieldagentHRA.html"; 
} 
}、
 error:function(e){
 console.log( "エラー: "、e); 
 display(e); 
}、
 done:function(e){
 enableRegisterButton(true); 
} 
});

chromeでこれを調べたところ、ヘッダーの本文が追加されていないことがわかりました。 Without Header Body

次に RequestlyRequestlyはchrome + firefoxプラグインを使用してリクエストにヘッダーを手動で追加できます)。

手動でヘッダーを追加した後:-

After Manually Adding the header

両方のpicsリクエストヘッダーで、x-auth-tokenは「ACCESS-CONTROL-REQUEST-HEADERS」にありますが、ヘッダー値とともに「X-AUTH-TOKEN」ヘッダーは、最初のpicにはない2番目のpicにあります。

私の質問は、JQueryを使用してAjaxにリクエストヘッダーを追加する方法ですか?

13
Safdar Akrami

何をしたいかに応じていくつかの解決策があります

個別のリクエストにカスタムヘッダー(またはヘッダーセット)を追加する場合は、headersプロパティを追加するだけで、ヘッダー付きのリクエストを送信できます。

_// Request with custom header
$.ajax({
    url: 'foo/bar',
    headers: { 'x-my-custom-header': 'some value' }
});
_

すべてのリクエストにデフォルトのヘッダー(またはヘッダーのセット)を追加する場合は、$.ajaxSetup():を使用します。これはヘッダーの追加に役立ちます。

_//Setup headers here and than call ajax
$.ajaxSetup({
    headers: { 'x-my-custom-header': 'some value' }
});

// Sends your ajax
$.ajax({ url: 'foo/bar' });
_

すべてのリクエストにヘッダー(またはヘッダーのセット)を追加し、$。ajaxSetup()でbeforeSendフックを使用します。

_//Hook your headers here and set it with before send function.
$.ajaxSetup({
    beforeSend: function(xhr) {
        xhr.setRequestHeader('x-my-custom-header', 'some value');
    }
});

// Sends your ajax
$.ajax({ url: 'foo/bar' });
_

参照リンク:AjaxSetup

参照リンク:AjaxHeaders

28
Soni Vimalkumar