2011-08-02 81 views
2

我正在嘗試向ajax請求添加標題。Ajax setRequestHeader不起作用

我使用setRequestHeader但它什麼都不做。我可以看看Firefox的請求頭不包含身份驗證!我做錯了什麼?

如何添加標題?

$.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "http://test/test.svc/news", 
     dataType: "json", 
     beforeSend : function(xhr) { 
     xhr.setRequestHeader("Authentication", "Basic " + Base64.encode(username + ":" + password)) 
     }, 
     success: function(data) { 
     alert('Success'); 
     }, 
     error: function() { 
     alert("Loading data error..."); 
     } 
     }); 
    } 
+1

您已經額外'}'最後。這是一個錯字嗎?此外,是'Base64'調用工作? – Mrchief

+1

創建沒有問題的調用。而我嘗試沒有基地xhr.setRequestHeader(「測試」,「測試」);沒事了。 – Evgeny

回答

5

嘗試的用戶名和密碼,而不是

$.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "http://test/test.svc/news", 
     dataType: "json", 
     username: 'username', /* not user */ 
     password: 'pass', 
     success: function(data) { 
     alert('Success'); 
     }, 
     error: function() { 
     alert("Loading data error..."); 
     } 
     }); 
    } 

的用戶名 - 一個用戶名來響應使用一個HTTP訪問認證請求

+1

我檢查了這段代碼。沒有添加到請求標題??! – Evgeny

+1

@Evgeny:這可能是Firefox的保護...也許? – genesis

+1

我不知道。我嘗試設置標題並獲取它。並且它返回null ... – Evgeny