当我尝试使用 Meteor 调用外部服务器进行 JSON 查询时Meteor.http.call("GET")
方法我收到错误消息“Access-Control-Allow-Origin不允许”。
如何允许我的 Meteor 应用程序向其他服务器发出 HTTP 调用?
现在我在本地主机上运行它。
我运行的代码是这样的:
Meteor.http.call("GET",
"http://api.vasttrafik.se/bin/rest.exe/v1/location.name?authKey=XXXX&format=json&jsonpCallback=processJSON&input=kungsportsplatsen",
function(error, result) {
console.log("test");
}
);
StackOverflow 上还有其他类似的问题。
当您从客户端 (AJAX) 执行此操作时,您会受到尝试连接的服务器的限制。
解决此问题的一种方法是,如果您有权访问外部服务器,则可以通过以下方式修改头文件以允许部分或全部来源:
Access-Control-Allow-Origin: *
但是,如果您将调用放在服务器端并且不提供回调函数,则调用将同步进行,因此不使用 AJAX,并且应该会成功。
Here's
Meteor.methods({checkTwitter: function (userId) {
this.unblock();
var result = Meteor.http.call("GET", "http://api.twitter.com/xyz", {params: {user: userId}});
if (result.statusCode === 200) return true
return false;
}});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)