我正在尝试从外部站点上的 JSON 获取数据,但该站点不支持 JSON-P 输出。这是一个无效代码的示例,但很好地说明了我想要实现的目标:
$.getJSON("http://www.bom.gov.au/fwo/IDV60901/IDV60901.94868.json", function(data){
//Process data here
});
除了本地托管数据或使用 AJAX/PHP 调用下载和处理数据之外,还有其他方法可以解决此问题吗?我宁愿不让服务器提供或下载数据,而是让用户的浏览器直接抓取数据。
提前致谢!
最佳答案
最简单的选择是通过 PHP 代理脚本运行 json 调用, 就像这个:
<?php
// PHP Proxy
// Loads a file from any location.
// Author:Paulo Fierro
// January 29, 2006
// usage: proxy.php?url=http://mysite.com/myxml.xml
$session = curl_init($_GET['url']);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$xml = curl_exec($session);
echo $xml;
curl_close($session);
?>
并将其用作 ajaxCall 的来源
$.getJSON("proxy.php?url=http%3A%2F%2Fwww.bom.gov.au%2Ffwo%2FIDV60901%2FIDV60901.94868.json", function(data){
关于javascript - 来自不支持 JSON-P 输出的外部域的 jQuery "getJSON",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1845715/