我有以下代码:
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, false);
xmlhttp.setRequestHeader("Accept", "text/json");
xmlhttp.setRequestHeader("Authorization", "Basic blablabla");
xmlhttp.setRequestHeader("Host", "my.domain.net");
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var data = JSON.parse(xmlhttp.responseText);
writeRepoInfo(data);
}
};
xmlhttp.send()
或以下代码:
$.ajax({
type: 'GET',
url: requestUrl,
crossDomain: true,
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic blablabla");
xhr.setRequestHeader("Host", "my.domain.net");
},
success: function (data) {
writeRepoInfo(data);
},
error: function (error) {
console.log('Failed ' + error.status + ' ' + error.statusText);
}
});
当我跑步时,我收到网络错误:
0x800a139e - JavaScript运行时错误:NetworkError
我使用Fiddler来捕获呼叫,我注意到没有添加安全头。所以,我猜测NetworkError实际上是一个Access Denied错误。
与此同时,我知道我的基本身份验证值是正确的,因为我可以使用Fiddler使用授权信息来调用我的网址,并且每次都很有效。
所以,我的休息服务在Fiddler中效果很好,而不是我的测试网络应用程序。
有人知道我做错了吗?