有可能得到这个Json?

时间:2013-12-05 17:44:08

标签: jquery json

我一直试图从这个页面获取Json:http://ehv-design.nl/eindopdracht/api.php?method=complete(没有json文件)。是否有可能得到这个?我尝试使用此代码获取它:

 var url = 'http://ehv-design.nl/eindopdracht/api.php?method=complete';


$.getJSON(url, function(data){
     var name = data[name];
     $("#photoInfo").append("<p>"+name+"</p>"); 
});

3 个答案:

答案 0 :(得分:7)

服务器不发送CORS头(Access-Control-Allow-Origin)所以不,除非您在服务器上使用检索远程文件并使其在本地可用的包装器,否则无法检索和访问结果。

另一个选择是要求远程服务的所有者支持JSONp。然后,即使没有CORS标头,您也可以使用它来检索数据。但是CORS肯定会更加清晰(JSONP基本上是跨站点脚本,你只相信远程端不执行恶​​意代码)。

答案 1 :(得分:3)

您绝对可以使用YQL(Yahoo Query Language)。

var query = 'http://ehv-design.nl/eindopdracht/api.php?method=complete'
var url = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url%3D%22' + encodeURIComponent(query) + '%22&format=json&callback=?'

$.getJSON(url, function (res) {
    console.log(res);
});

I made a fiddle demo here.

答案 2 :(得分:-1)

托管该JSON的服务器不允许cross-origin resource sharing。我尝试从jsfiddle.net运行代码。尝试访问该文件时,会记录以下错误:

XMLHttpRequest cannot load http://ehv-design.nl/eindopdracht/api.php?method=complete.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://fiddle.jshell.net' is therefore not allowed access. 

如需进一步阅读,请参阅this answer