我正在尝试用JavaScript编写本地应用程序,从站点获取一些JSON数据,解析它,并为我显示一些统计信息。到目前为止,我无法让它工作,甚至无法从任何网站上随处拉取JSON。这是因为相同的原产地政策吗?我认为在我自己的机器上本地存储的.html文件会放宽。
我尝试使用的网站似乎不支持JSONP或CORS。
我原以为这是一个常见的场景,我很惊讶我无法让它工作,尽管我对JavaScript不是很有经验。我尝试使用XMLHttpRequest,我也教过自己很多JQuery,但我无法获得任何简单的工作。
我想做的不可能吗?
在JQuery中,我的基本访问看起来像这样 - 警报弹出窗口永远不会被调用。
$.getJSON(url,function(result) {
alert("success");
});
答案 0 :(得分:0)
我认为在我自己的机器上本地存储的.html文件会放宽。
不,反之亦然 - 本地文件通常甚至无法通过Ajax请求其他本地文件。
无论如何,是的,这可能是因为相同的原产地政策。对于本地事物,您可以做的是通过某种语言的某个服务器代理您需要的页面,并使用该服务器来提供文件。事实上,Nginx可以独自完成这一切;配置看起来如下所示。您也可以使用curl
和CGI。
location = /proxymypage {
proxy_pass http://remote-site.com/data.json;
}
location / {
root /path/to/your/files;
}