【发布时间】:2017-05-06 21:18:57
【问题描述】:
我已经研究了一个多小时,但找不到有效的解决方案。
我的js:
var googleUrl = 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types=geocode&language=fr&key=<MY KEY>'
$.ajax({
type: 'GET',
url: googleUrl,
dataType: 'jsonp',
success: function(response) {
console.log(response)
},
error: function(response) {
console.log(response);
}
})
我看到了this question,它建议了一个“回调方法” - 我仍然无法弄清楚为什么会出现错误:Uncaught SyntaxError: Unexpected token :
我看到它已被标记为重复 - 但正如我已经指出的那样,我已经尝试了其他帖子中的所有内容,但如果不使用 JSONP,我仍然无法访问工作。关于如何解决问题的建设性反馈会很有用。
感谢任何建议!
更新 - 显然我的代码中的密钥不是“我的密钥”。
【问题讨论】:
-
是的,我确定这是我的代码。
-
我刚刚用我的 API 密钥尝试了你的代码,当我将内容类型更改为
json -
回复是
JSON,而不是JSONP。它们不可互换。将dataType: 'jsonp'更改为dataType: 'json',然而 会导致No Access Control Header错误,因为您调用的URL 在响应中没有CORS 标头。因此,您不能向该域发出 AJAX 请求。您需要改为在服务器端进行 -
@legotin 哈哈,我想他只是把它写成
<MY KEY>,而不是在网上发布他的 API 密钥!!我确信在他的代码中他有真正的钥匙;) -
@RoryMcCrossan - 这不应该被标记为重复,它们是相似的问题,但由非常不同的问题引起
标签: javascript jquery json jsonp google-places-api