我正在使用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:意外的令牌:
错误就像JSON一样 -
有人可以帮忙解决这个问题吗?
提前感谢您的帮助。
答案 0 :(得分:1)
尝试将您的JavaScript更改为:
$.ajax(
{
url: Auto_Complete_Link,
type: "GET",
dataType: "json",
contentType: "application/json; charset=utf-8",
cache: false,
crossDomain: true,
success: function (response)
{
$.each(response, function(i, field)
{
console.log(field + " <=> "+ i);
});
},
error: function (xhr, status)
{
console.error("not connecting to google server");
}
});