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

标签 javascript jquery json cross-domain jsonp

我正在尝试从外部站点上的 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/

相关文章:

javascript,将\n 替换为\r\n

javascript - MVC : Is there any way to create bundles in view?

asp.net - jqGrid 多选对于大量本地数据非常慢,jQueryUI 1.8、jQueryUI 1.7 都很好

javascript - 在jquery中解析json

javascript - 在我的 Shopify Liquid 主题中添加并解析我自己的 JSON 对象

c# - 将带有撇号的 json 值发送到 webservice 时出现无效对象错误

javascript - 清空标签时,内部的事件附加按钮是否会被垃圾收集?

javascript - 如何增加文本框中的值

javascript - 如何添加显示:inline-block to jQuery fadeIn

javascript - 防止将包含 E 和数字的字符串转换为数字