【发布时间】:2015-07-03 12:19:14
【问题描述】:
谁能帮我找到正确的方法来做CORS。我收到错误
XMLHttpRequest 无法加载 https://***********/gateway.com。请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:7089' 因此不允许访问
通过参考之前与 CORS 相关的帖子创建以下代码。 Java脚本代码如下:
function createCORSRequest(method, url){
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr){
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined"){
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}
function CallWS(){
var request = createCORSRequest("POST","https://**************/gateway.com");
if (request){
request.onload = function(){
var res = request.responseText;
alert(res);
};
request.send();
}
【问题讨论】:
-
那么定义来自
https://***********/gateway.com的响应的代码在哪里?错误消息说它缺少Access-Control-Allow-Origin标头。你做了什么来添加它? -
调试时遇到这个错误。变量 res 将存储响应
-
没有。我问的是在
gateway.com上运行的服务器端 代码,它会生成响应。不是试图处理它的客户端代码(并且永远不会有机会,因为gateway.com没有授予它权限) -
我正在尝试消费其他服务提供商的休息网络服务..
-
没有。这些数据在网站和用户之间被认为是私有的。该网站可以使用 CORS 授予浏览器与其他网站共享的权限。用户可以安装 CORS 插件以授予浏览器与其他站点共享的权限。另一个网站不能。这就像
http://hackrs-r-us.com说“亲爱的浏览器,您将来自http://some-bank.com的用户数据提供给我们是非常安全的”。
标签: javascript https cors restful-url