链接外部JS库并获取XMLHttpRequest错误

时间:2016-07-24 17:01:48

标签: javascript c# asp.net

我需要使用JavaScript库并将其引用为:

    <script type="text/javascript" src="https://js.authorize.net/v1/Accept.js"></script>

但是我收到一条错误消息:

  

XMLHttpRequest无法加载https://js.authorize.net/v1/AcceptCore.js。   No&#39; Access-Control-Allow-Origin&#39;标题出现在请求的上   资源。

我已经研究过这个问题并尝试了各种代码和想法,但它对我没有用。我正在使用ASP.NET,webforms和c#。我尝试在web.config中添加各种代码,例如

  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*"/>
      </customHeaders>
    </httpProtocol>
  </system.webServer>

   <system.webServer>
        <httpProtocol>
          <customHeaders>
            <add name="Access-Control-Allow-Origin" value="*" />
            <add name="Access-Control-Allow-Headers" value="Content-Type" />
            <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
          </customHeaders>
        </httpProtocol>
      </system.webServer>

我也尝试过安装Cors的建议,但我使用的是框架4.0。 Cors需要5.0并且无法安装。

2 个答案:

答案 0 :(得分:1)

您正在加载的脚本只是右转并使用XMLHttpRequest加载另一个(也来自js.authorize.net);该请求被拒绝,因为您的页面的来源不被允许访问。看起来像某种授权的东西,以防止他们的JS在未经授权的起源上下载。

你没做什么更改了js.authorize.net端的CORS规则。这是服务器js.authorize.net,它必须允许你的来源做请求。

您需要与js.authorize.net背后的人合作才能获得访问权。

答案 1 :(得分:1)

这可能是自原始帖子以来添加的,但是其他人要知道,Authorize.net会在其网站的Accept.js页面上解决此问题。
链接:https://developer.authorize.net/api/reference/features/acceptjs.html

  

注意:如果您正在调试,您可能会在JS控制台中看到XMLHttpRequest错误。这是因为我们的核心处理库无法直接调用,这是一个预期的安全警告。

尽管有错误,一切仍然有效。