在javascript中从外部源获取json

在javascript中从外部源获取json,javascript,jquery,json,Javascript,Jquery,Json,javascript和jquery中的Json问题。 正在尝试使用javascript加载一些JSON 我使用以下方法使其工作: 请看这里: 但是它对以下URL不起作用,这是为什么 以下URL是否不是正确的JSON 感谢谷歌的api将访问控制允许来源标题设置为*,这样你就可以跨域访问它了 而您提供的其他URL没有,因此您将得到如下错误: 无法加载XMLHttpRequest。 请求的服务器上不存在“Access Control Allow Origin”标头 资源。因此,不允许使用源“”

javascript和jquery中的Json问题。 正在尝试使用javascript加载一些JSON

我使用以下方法使其工作:

请看这里:

但是它对以下URL不起作用,这是为什么

以下URL是否不是正确的JSON


感谢

谷歌的api将访问控制允许来源标题设置为
*
,这样你就可以跨域访问它了

而您提供的其他URL没有,因此您将得到如下错误:

无法加载XMLHttpRequest。 请求的服务器上不存在“Access Control Allow Origin”标头 资源。因此,不允许使用源“” 进入


我认为问题在于请求JSON的服务器是否启用了跨源资源共享()

您可以在google服务的标题中看到,他们设置了
访问控制允许来源:
对于其他URL的you list,情况并非如此


要解决这个问题,您需要某种形式的代理,以便您可以从同一域上的服务器或启用CORS的服务器请求。

对于任何服务器的ajax请求,您需要为客户端定义Access Control Allow Origin标头。这在给定中是不存在的。您需要在可以请求的服务器中定义XMLHttp请求的来源


有关更多信息,请参阅您正在使用的json.results中的警报中的此

,它确实存在于googleapis中,但在其他json中不存在。验证器说它们都是有效的。什么不起作用?没有结果?谢谢。。。。我最好去掉这个愚蠢的问题什么是白痴,有时候一个人忽略了这么简单的东西查看更多关于为什么它不工作以及如何使用它的细节。我检查了这个()并且它有头访问控制允许来源:*
var url = "http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true";

$.getJSON(url, function (json) {
    alert(JSON.stringify(json.results));
});