使用jQuery从外部URL获取数据

3
我有一个外部URL,会获取参数并输出类似于下面的结果:{"result": "not_avail"} 我尝试使用jQuery来获取结果,代码如下:
$.get("http://www.thepage.html?id=2&name=david", function(data){
    alert("Data Loaded: " + data);
});

但什么也没发生,我没有收到警报,firebug中也没有任何错误。我该如何解决?


1
由于同域策略,您将无法获得结果,请尝试查看jsonp。 - Arnoud Kooi
1
如果返回的是JSON,请使用$.getJSON - naveen
3个回答

3
由于浏览器的安全限制,大多数“Ajax”请求都受到同源策略的限制;该请求无法从不同的域、子域或协议成功检索数据。
来自官方文档
尝试使用相对路径指向您的脚本(在同一域中)。

那么我就无法获取这些数据了吗? - lior r
有没有其他的方法可以这样做? - lior r
我同意@arthur的观点:-),如果你确实需要这个功能,那就在你的域名上制作一个php代理脚本。 - maozet
我使用了这段代码,它正常工作 :-) $jsonurl = "http://www.mysite.com?id=1"; $json = file_get_contents($jsonurl,0,null,null); $json_output = json_decode($json); - lior r

0

0
尝试使用getJSON
$.getJSON("http://yoururl",function(data){
    $("#selector").data("JSONP",data);
});

若要以JSON格式返回数据,可以在PHP中使用json_encode()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接