我正在尝试使用以下代码通过我的localhost访问API:
$.ajax({
url: "http://domain.xxx.net/api/tokens.json?email=xxx@xxx.net&password=xxx",
//method: "GET",
headers: { "Accept": "application/xml", "Content-Type": "application/xml", "Access-Control-Allow-Origin": "*"},
dataType: "JSON",
success:function(data){
alert(data);},
success:function(e){
alert(e.message);}
});
我已经通过互联网阅读,由于下面的错误,这是不可能的。
否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' http://localhost:3000'因此不允许访问。
经过一些研究后,据说我可以使用JSONP或CORS。我能够使用JSONP但是我得到了一个js错误,因为API只支持JSON和amp; XML而不是JSONP。现在我试图将我的ajax调用转换为CORS,但我根本无法理解语法。关于' Access-Control-Allow-Origin'。
,我总是得到同样的错误我希望有人可以帮我翻译这个。谢谢。
答案 0 :(得分:0)
Access-Control-Allow-Origin应该在响应头中。它听起来是您尝试从中获取数据的服务器未启用CORS(设置Access-Control-Allow-Origin的响应头)。如果是这种情况,我认为您无法通过Javascript获取资源。你需要从后端做到这一点。
答案 1 :(得分:0)
您无法通过浏览器执行此操作。你需要从后端做到这一点。如果您想使用javascript,可以使用NodeJS
答案 2 :(得分:0)
对于那些想要访问跨域以进行测试的人。可能的解决方法是禁用浏览器的Web安全性。
对于Chrome用户:关闭所有浏览器的会话,然后在终端中运行以下命令:
open -a Google\ Chrome --args --disable-web-security
希望这个有所帮助。