【发布时间】:2018-04-20 09:35:44
【问题描述】:
我尝试使用此 jQuery 代码从 google distancematrix API 获取 JSON 数据:
<script type="text/javascript">
$(document).ready(function(){
url = "https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC&destinations=New+York+City,NY&key=AIzaSyC1YPi3w46cOyrkUa8s0vR9QHzeoQCoum4";
$.ajax({
type: "GET",
url: url,
dataType: "json",
jsonpCallback: "results"
})
function results(data) {
console.log("data" + data);
}
});
</script>
如果我查看浏览器 (Google Chrome) 的控制台,我会收到以下错误消息:
Uncaught SyntaxError: Unexpected token :
如果我点击那个 JSON 文件,我会得到“Nothing to preview”。
编辑:
我在我的网络标签中看到了这个回复:
奇怪的是,正确的 JSON 响应被发送到我的浏览器:
【问题讨论】:
-
请您使用
console.log("data:", data);看看它记录了什么?警报可能只显示 [object Object] -
您确定这不是触发错误的响应吗?您确定要发回格式正确的 JSON 吗?您的网络选项卡中的响应是什么样的,它会触发吗?
-
您收到了
JSON响应,因为端点没有返回JSONP。在您的 URL 中,端点也在查询参数之前指定为json。我怀疑您是否可以使用JSONP来实现它(Google 不会返回它)
标签: javascript jquery json google-chrome