【发布时间】:2015-02-06 15:10:11
【问题描述】:
我正在使用 Google Place API 来获取最近位置的建议。
我已经设法从服务器获取数据。
我有这样的服务器响应-
{
"predictions" : [
{
"description" : "Australia",
"id" : "3ba963f8de67dc16df0a8de60e46418338a3181a",
"matched_substrings" : [
{
"length" : 1,
"offset" : 0
}
],
"place_id" : "ChIJ38WHZwf9KysRUhNblaFnglM",
"reference" : "CjQhAAAAlf04PlAgVJSzXXBUwZc0JGNjk5I9hsWHkvWwfuY_U4bkR3hm2lC4EN6fV4KOXr9PEhD5vhvmJOucMwDiwRaYJ0RAGhQofmdPwvnV4qHFefKAu0Anw110WQ",
"terms" : [
{
"offset" : 0,
"value" : "Australia"
}
],
"types" : [ "country", "political", "geocode" ]
},
{
"description" : "Argentina",
"id" : "dcaa0dffd352dfaaa3dc73dd1dbf3153708637ef",
"matched_substrings" : [
{
"length" : 1,
"offset" : 0
}
],
"place_id" : "ChIJZ8b99fXKvJURqA_wKpl3Lz0",
"reference" : "CjQhAAAAO1RnJcq4Dky5uLQFHCULfP6VzbklXYCiR_DDuJMJxf5wFbTXVnHM7bn7ZSlxsR7IEhC_HlGxn8JeuC2h86S2EIpSGhRddclDM07Acre3NSiTWJoClMNtKQ",
"terms" : [
{
"offset" : 0,
"value" : "Argentina"
}
],
"types" : [ "country", "political", "geocode" ]
},
{
"description" : "Austria",
"id" : "e16f8e9f2a60f60a0881c41488ff3869e4f938a4",
"matched_substrings" : [
{
"length" : 1,
"offset" : 0
}
],
"place_id" : "ChIJfyqdJZsHbUcRr8Hk3XvUEhA",
"reference" : "CiQfAAAAXX_lF6oxms4MgmajAkQabO3drGaCf04EHArvaGV3UTISEFulfBYy0rmrSxPIb1JLY_0aFJ2UqN170fR7OjOGAF3v3vZqO21i",
"terms" : [
{
"offset" : 0,
"value" : "Austria"
}
],
"types" : [ "country", "political", "geocode" ]
}
],
"status" : "OK"
}
我通过使用 jQuery 解析来获取数据是-
$.ajax(
{
url: Auto_Complete_Link,
type: "GET",
dataType: 'jsonp',
cache: false,
crossDomain: true,
/*data: JSON.stringify(somejson),*/
success: function (response)
{
$.each(response, function(i, field)
{
console.log(field + " <=> "+ i);
});
},
error: function (xhr, status)
{
console.error("not connecting to google server");
}
});
所以解析部分的代码是这样的-
$.each(response, function(i, field)
{
console.log(field + " <=> "+ i);
});
但我收到一个名为
的错误Uncaught SyntaxError: Unexpected token :
错误是 JSON 之类的-
谁能帮忙解决这个问题?
提前感谢您的帮助。
【问题讨论】:
-
您确定 Google Places API 返回的是 JSONP 而不是 JSON?
-
我收到的内容放在这里。
-
我认为是 JSONP
-
在阅读文档developers.google.com/places/documentation/… 后,我很确定它只是纯 JSON,您可以测试更改您的 jQuery 以期待 JSON 响应吗?
-
JSONP 将被包装在一个函数中,例如
handle_data({"data_1": "hello world", "data_2": ["the","sun","is","shining"]});更多信息 json-p.org
标签: javascript jquery json jsonp google-places-api