跨域的JS变量
JS variables across domains
问题
我想从另一个 HTTPS 域接收 javascript 变量,但出现错误。
我试过的
这是我能得到的最简化的代码版本,它仍然会产生我上面描述的问题。
$.ajax({
url: "https://www.example.com/page.asp",
crossDomain:true,
success:function(data){
alert("success")
},
error : function() {
alert("error")
}
});
我也试过了
$.ajax({
url: "https://www.example.com/page.asp",
dataType: "jsonp",
cache: true,
success:function(data){
alert("success")
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("error")
}
});
下面的代码也添加到远程页面
<%Response.AddHeader "Access-Control-Allow-Origin","*"%>
它不起作用,因为它给出了以下错误:
'https://example.com' has been blocked by CORS policy: No
'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://example.com' is therefore not allowed access.
问题
所以我的基本问题是,如何接收从 HTTPS 页面到 HTTP 页面的 javascript 变量?
你试过在web.config中设置吗?
我只将它与 asp.net web api 一起使用,其中有一个用于管理 cors 的 dll。
<httpProtocol>
<customHeaders>
<clear />
<add name="X-Powered-By" value="ASP.NET" />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Accept, X-Access-Token, X-Application-Name, X-Request-Sent-Time"/>
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
<add name="Access-Control-Allow-Credentials" value="true"/>
</customHeaders>
<redirectHeaders>
<clear />
</redirectHeaders>
</httpProtocol>
我终于收到了 javascript 个具有以下代码的变量:
$.ajax({
method: "GET",
url: "http://www.example.com/test.js",
dataType: "script",
success:function(data){
alert(variable)
}
});
谢谢。
问题
我想从另一个 HTTPS 域接收 javascript 变量,但出现错误。
我试过的
这是我能得到的最简化的代码版本,它仍然会产生我上面描述的问题。
$.ajax({
url: "https://www.example.com/page.asp",
crossDomain:true,
success:function(data){
alert("success")
},
error : function() {
alert("error")
}
});
我也试过了
$.ajax({
url: "https://www.example.com/page.asp",
dataType: "jsonp",
cache: true,
success:function(data){
alert("success")
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("error")
}
});
下面的代码也添加到远程页面
<%Response.AddHeader "Access-Control-Allow-Origin","*"%>
它不起作用,因为它给出了以下错误:
'https://example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com' is therefore not allowed access.
问题
所以我的基本问题是,如何接收从 HTTPS 页面到 HTTP 页面的 javascript 变量?
你试过在web.config中设置吗? 我只将它与 asp.net web api 一起使用,其中有一个用于管理 cors 的 dll。
<httpProtocol>
<customHeaders>
<clear />
<add name="X-Powered-By" value="ASP.NET" />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Accept, X-Access-Token, X-Application-Name, X-Request-Sent-Time"/>
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
<add name="Access-Control-Allow-Credentials" value="true"/>
</customHeaders>
<redirectHeaders>
<clear />
</redirectHeaders>
</httpProtocol>
我终于收到了 javascript 个具有以下代码的变量:
$.ajax({
method: "GET",
url: "http://www.example.com/test.js",
dataType: "script",
success:function(data){
alert(variable)
}
});
谢谢。