2017-01-30 16 views
9

JQueryでAjaxでリクエストするヘッダーを追加しようとしています。以下Jquery Ajaxでリクエストにヘッダを追加するには?

コードである: -

$.ajax({ 
    type: "POST", 
    contentType: "application/json", 
    url: "http://localhost:8080/core-service/services/v1.0/patients/registerPatients", 
    data: JSON.stringify(patientDTO), 
    //crossDomain : true, 
    dataType: 'json', 
    headers: {"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("ERROR: ", e); 
    display(e); 
    }, 
    done: function(e) { 
    enableRegisterButton(true); 
    } 
});

私はクロムでこれを検査し、ヘッダの体が添加されていないことを見出しました。

Without Header BodyそしてIは(Requestly我々は手動で要求にヘッダを追加することが可能なクロム+ FirefoxのプラグインがあるRequestlyを用います。写真は、ヘッダX-AUTH-トークンは "ACCESS-CONTROL-REQUEST-HEADERS" に存在する要求が、 "X-AUTH-TOKEN" の両方において

After Manually Adding the header

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

ヘッダー値と共にヘッダーが第1の写真にはない第2のピクチャーに存在する。

私の質問は、AjaxでリクエストヘッダをJQueryで追加する方法です。

答えて

16

個々の要求にカスタムヘッダ(またはヘッダのセット)を追加したい場合は

を何をしたいかに応じて、ソリューションのカップルはその後、ちょうど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' }); 

Reference Link : AjaxSetup

Reference Link : AjaxHeaders

関連する問題