如果你们都能帮到我,我真的很感激。
这是我得到的错误:
“资源被解释为脚本,但使用MIME类型application / json进行传输。” (“资源”指的是来自谷歌服务器的json响应。)
这是我的代码:
$(document).ready(function(){
$.getJSON("http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false&callback=?", function(jsondata) {
});
});
答案 0 :(得分:5)
请改为尝试:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
$(document).ready(function(){
var loc = "1600 Amphitheatre Parkway, Mountain View, CA";
var geocoder = new google.maps.Geocoder();
geocoder.geocode( {'address': loc },
function(data, status) { console.log(data); });
});
</script>
答案 1 :(得分:1)
您呼叫的网站不支持JSONP,只返回JSON。
答案 2 :(得分:1)
为了从其他域(例如googleapis.com)获取JSON,您必须使用JSONP而非普通JSON(有关详细信息,请阅读{{3} })。
幸运的是,在代码中添加值为问号(callback=?
)的GET参数会导致jQuery尝试进行JSONP调用。 Un 幸运的是,该网站忽略了您对JSONP的请求并直接提供JSON。
两个可能的原因是该网站不支持JSONP(这对于公共Google API来说是奇怪的),或者它希望该名称是其他内容(即不是callback=
)。查看Google API文档,了解他们期望/支持的内容。
答案 3 :(得分:0)
所以我的Maps API有点生疏,但最后callback=?
是不是将输出转换为JSONP result,这确实是一个脚本?
尝试放弃查询字符串的回调部分。
答案 4 :(得分:0)
请告诉我这是否回答了您的问题:webkit based browser interpretate the json as a script