是否可以在客户端使用HTTP.get来检索一些json数据并将其存储为字符串?
我需要从此站点https://blockchain.info/address/15cNko3ZtmYCba8GoaYsZ6GWFy1VCLgFji?format=json获取JSON并将其存储为字符串以供稍后解析。
钱包的上述网站地址是随机选择的。
答案 0 :(得分:0)
您可以在客户端上执行HTTP.get
。 As per the documentation它可用Anywhere
(客户端和服务器)
但是,您提供的示例与您的应用不在同一个域中,并且未提供Access-Control-Allow-Origin
标头以允许跨域请求。 So requests from the client will fail.
相同的原始策略会阻止从一个文档或脚本加载的文档或脚本 来自获取或设置文档属性的来源 起源。此政策可以追溯到Netscape Navigator 2.0。
答案 1 :(得分:0)
尝试在应用程序开发标签中的浏览器控制台中输入$.ajax("https://blockchain.info/address/15cNko3ZtmYCba8GoaYsZ6GWFy1VCLgFji?format=json");
。
您可能会收到此错误作为回复:
XMLHttpRequest cannot load https://blockchain.info/address/15cNko3ZtmYCba8GoaYsZ6GWFy1VCLgFji?format=json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
这是一个与CORS相关的问题,这本身就是一个完整的主题所以我建议你谷歌这个并理解其含义。
接下来,如果您可以控制尝试从中获取json的域上的CORS设置,那么您需要允许来自Web应用程序域的跨源请求,这可以在使用亚马逊S3存储桶时使用,另一个网络你设计的应用程序等......
如果你不能,那么我担心你必须使用Meteor.method客户端到达你的Meteor服务器,你将用HTTP.get获取json然后将它发送回Meteor客户端