我正在尝试使用 jquery $.ajax 访问 Google map 路线 API。
我可以在我的开发工具中看到 XHR 请求已完成,但我认为 jquery Ajax 处理 JSON.parse 的方式存在问题。
这是我的代码:
http://codepen.io/jrdnndtsch/pen/Byrxxo
$.ajax({
url:'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&&callback=?&sensor=false',
type: 'GET',
dataType: 'jsonp',
success: function(data){
console.log("it worked");
console.log(data);
}
});
所以,URL 是正确的 - 我什至可以在开发工具中看到它的数据,但我收到此错误:
Uncaught SyntaxError: Unexpected token :
我已经用谷歌搜索了我的大脑,真的需要一些关于下一步该去哪里的指导。有什么帮助吗?
最佳答案
看起来 URL 正在根据您发送的内容进行修改,以在末尾添加“:2”,这是错误的来源,而不是返回的 JSON。但不知道为什么会发生这种情况。我知道这不是真正的答案,但它至少回答了为什么会发生该错误。
编辑:
我认为你需要一个API key 来以你编写代码的方式接受json,否则你会遇到跨域问题
$.ajax({
url:'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&&callback=?&sensor=false&key=YOUR-API-KEY',
type: 'GET',
dataType: 'json'
})
.done(function(data){
console.log("it worked");
console.log(data);
});
关于javascript - JSONP 和 Google map 方向 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28612058/