【发布时间】:2019-02-06 02:58:24
【问题描述】:
我有一个调用网络服务 API 的函数。
function GetData() {
var prm =
{
EVENT_CODE: EvnCode
};
$.ajax({
url: 'http://00.00.00.000/CRM/geteventwisebudgetactualamount',
headers: {
'AuthKey': 'test',
'Content-Type': 'application/x-www-form-urlencoded',
},
type: 'POST',
contentType: 'application/x-www-form-urlencoded',
data: prm,
crossDomain: true,
dataType: 'json',
success: function (data) {
},
error: function (errMsg) {
console.log('AJAX FAILED, message : ' + errMsg);
}
});
}
它总是显示标题中提到的错误,请帮助解决这个问题。
【问题讨论】:
-
这个答案很好地解释了 CORS - stackoverflow.com/a/10636765/3574481
-
我有点困惑,我从其他机构得到了这个 api url,现在我不知道他们在他们的代码中做了什么。我只是使用他们的 api url 来使用 ajax 获取记录。请建议,这个问题发生在我这边或 API 方面。
-
CORS 需要在服务器端进行修复。你不能在客户端上覆盖它——这就是它的全部意义所在。服务器决定接受来自哪个客户端条件的请求。
-
如果它不是您的 API 并且提供商不支持 CORS(或者不会将您添加到他们的安全来源列表中),那么您就不能使用 AJAX 来发出此请求。您必须改为从服务器端代码发出请求,然后将响应传递回您的页面。
标签: jquery asp.net ajax web-services cors