我一直试图从这个页面获取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>");
});
答案 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);
});
答案 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