我需要使用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并且无法安装。
答案 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错误。这是因为我们的核心处理库无法直接调用,这是一个预期的安全警告。
尽管有错误,一切仍然有效。