6
我工作的一個自制API消費者以及具有設置Authorization頭嚴重的困難。我使用JQuery的Ajax請求,但「beforeSend」沒有在所有的工作(使用小提琴手審查請求)阿賈克斯授權請求報頭出現故障連連
這是我的beforeSend代碼:
$.ajax({
type: "GET",
url: url+"/Projects",
contentType: "application/json; charset=utf-8",
beforeSend: function (req) {
req.setRequestHeader("Authorization", AuthBuilder(username, password));
},
success: function (result) {
alert("success");
},
error: function (xhr, ajaxOptions, thrownError) {
alert("fail");
}
});
那麼,如果那你失敗了,你做什麼?回到舊的方式發送Ajax請求......嗯,這也不行......
這是我的常規代碼:
function GET(address, callback, error) {
Request = getXMLHttpObject();
Request.open("GET", url + address, true);
var base64 = Base64.encode(username + ":" + password);
alert(base64);
Request.setRequestHeader("Authorization", "Basic " + base64);
Request.send();
Request.onreadystatechange = function() {
//alert(Request.readyState+" code "+Request.status);
if (Request.readyState == 4 && Request.status == 200) {
callback(jQuery.parseJSON(Request.responseText));
} else if (Request.readyState == 4 && Request.status >= 400) {
error(Request.status, Request.statusText);
}
}
}
不介意的事實,我不要求json,因爲服務返回的json的默認值爲。
在附加信息:
- 產地沒有關係,該服務允許所有起源(已經過測試和確認)
- 授權工作時頭設置(在其他客戶端測試)
- 授權頭只是不會發送
- AuthBuilder(用戶名,密碼))給出了基本認證頭內容
- 的getXMLHttpObject(正確格式)只是一些副本粘貼代碼和
任何想法之前工作過嗎?