Jquery 跨域JS变量

Jquery 跨域JS变量,jquery,ajax,http,https,cross-domain,Jquery,Ajax,Http,Https,Cross Domain,问题 我想从另一个HTTPS域接收javascript变量,但出现错误 我尝试过的 这是我所能得到的代码的最简化版本,它仍然会产生我上面描述的问题 $.ajax({ url: "https://www.example.com/page.asp", crossDomain:true, success:function(data){ alert("success") },

问题

我想从另一个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","*"%>

它不工作,因为它会产生以下错误:

“”已被CORS策略阻止:否 “Access Control Allow Origin”标头出现在请求的服务器上 资源因此,不允许访问源“”

问题


所以,我的基本问题是,如何从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)
   }
});

谢谢。

但是这种方式可能会降低安全性,不是吗?如果您想提高安全性,可以使用带有令牌的api系统,或者只需在访问控制允许源上写入域,因此中的权限不适用于所有域,而仅适用于该域。