jquery setRequestHeader JavaScript运行时错误:NetworkError

时间:2016-03-05 05:13:15

标签: jquery authentication

我有以下代码:

        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中效果很好,而不是我的测试网络应用程序。

有人知道我做错了吗?

0 个答案:

没有答案