来自不支持JSON-P输出的外部域的jQuery"getJSON"

Jam*_*mes 0 javascript jquery json jsonp cross-domain

我正在尝试从外部站点上的JSON获取数据,但该站点不支持JSON-P输出.这是一个非工作代码的例子,但是很好地了解了我想要实现的目标:

$.getJSON("http://www.bom.gov.au/fwo/IDV60901/IDV60901.94868.json", function(data){
    //Process data here
});
Run Code Online (Sandbox Code Playgroud)

除了本地托管数据或通过AJAX/PHP调用下载和处理数据之外,还有其他方法吗?我宁愿没有服务器服务或下载数据,而是让用户的浏览器直接抓取它.

提前致谢!

Eiv*_*ind 5

最简单的选择是通过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); 
Run Code Online (Sandbox Code Playgroud)

?>

并使用它作为你的来源ajaxCall

$.getJSON("proxy.php?url=http%3A%2F%2Fwww.bom.gov.au%2Ffwo%2FIDV60901%2FIDV60901.94868.json", function(data){
Run Code Online (Sandbox Code Playgroud)