我正在使用jQuery向google place API发出get请求,并且我获得了成功的响应,但数据未显示在我的页面上。这是我用来发送请求的代码,我已经包含了2个开发工具向我展示的图片。
$('#button').click(function () {
$.ajax({
type: 'GET',
dataType: 'jsonp',
url: "https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJh4vtq-kQsYkRET-Imf6RsuA&key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
success: function (data) {
$("#over_map").text(data.formatted_address);
}
});
});
开发工具截图:
答案 0 :(得分:0)
从Google Places place details API page开始,服务器似乎不支持JSONP。此外,API页面可以这样说:
Google Places API Web服务用于服务器应用程序。如果您正在构建客户端应用程序,请查看Google Places API for Android和Places Library in the Google Maps JavaScript API。
这让我相信可能不会设置CORS标头,因为Google希望您在服务器端使用此API,而不是在客户端。
我的建议是尝试在您的AJAX请求中将dataType: 'jsonp',
更改为dataType: 'json',
,如果这会导致浏览器抛出原始错误,那么您需要找出服务器端解决方案而不是你当前的客户端。