【问题标题】:Not able to make an AJAX call in Javascript无法在 Javascript 中进行 AJAX 调用
【发布时间】:2016-10-25 05:17:50
【问题描述】:

我是 .Net 开发的新手,我想调用客户端服务器。当我用 POSTMAN 运行代码行时,它运行得很好。但是当我在 java 脚本中使用相同的代码/头文件时,我能够得到想要的结果。

下面是我正在使用的代码行

 var xhr = new XMLHttpRequest();
 var params = "grant_type=password";
 xhr.open("POST", "ClientURL");
 xhr.setRequestHeader("Authorization", "Basic ZDJWQ1NmE4NjA4MDc0MjQ2NzSfdsdakj=​");
 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 xhr.setRequestHeader("Data-Type", "json");
 xhr.setRequestHeader("Host", "URL");

 xhr.send(params);
 console.log(xhr.status);
 console.log(xhr.statusText)

或者

$.ajax({
    type: "POST",
    url: 'CLIENT URL',
    dataType: "json",
    headers: { 'Authorization': 'Basic ZDJWQ1NmE4NjA4MDc0MjQ2NzSfdsdakj=​' },
    beforeSend: function (xhr) { 
        xhr.setRequestHeader('Authorization', 'Basic "ZDJWQ1NmE4NjA4MDc0MjQ2NzSfdsdakj=​"​'); 
    },
    success: function (data) {
        if (data) {
            alert(data);
        }
        else {
            alert("Something went wrong");
        }
    },
    error: function (xhr, ajaxOptions, thrownError) {
        alert(thrownError);
    }
});

通话中是否缺少任何内容?任何帮助表示赞赏

下面是IE的错误

XMLHttpRequest: Network Error 0x80070005, Access is denied.

在 Chrome 中

Default.aspx:68 Uncaught SyntaxError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'Basic ZDJWQ1NmE4NjA4MDc0MjQ2NzSfdsdakj=​' is not a valid HTTP header field value.

【问题讨论】:

  • 您遇到的错误是什么?
  • 在问题中添加
  • 您使用的是哪个浏览器?检查这篇文章 - stackoverflow.com/questions/30896958/…
  • 我在 IE 中使用,但 Chrome 中的错误不同,添加到问题和链接没有帮助:(
  • 设置内容类型:'application/json'

标签: javascript jquery .net ajax


【解决方案1】:
beforeSend: function (xhr) { 
    xhr.setRequestHeader('Authorization', "Basic ZDJWQ1NmE4NjA4MDc0MjQ2NzSfdsdakj=​"​); 
},

如上改变函数。

【讨论】:

  • 也试过了,还是说 XMLHttpRequest: Network Error 0x80070005, Access is denied.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 2013-08-25
  • 1970-01-01
  • 2015-07-03
相关资源
最近更新 更多