Google Places API:json错误未捕获的SyntaxError意外的令牌

我不明白为什么我会得到这么多不同的错误。 我正在使用Google Places API进行测试,并且只使用带回调的ajax查询调用,我收到了json但是在CHrome浏览器中我得到了

"Uncaught SyntaxError: Unexpected token :" 

为什么会这样? 我认为谷歌做对了,他们的json必须是正确的……所以问题出在哪里?

这是我的代码

 $.ajax({ dataType: "json", url: "https://maps.googleapis.com/maps/api/place/search/json?location=40.47,-73.58&radius=5000&sensor=false&key=MYOWN&name&callback=?", success: function(data) { console.log('success'); }, error: function(data) { console.log('error'); } }); 

如果服务器返回普通JSON,则会出现此错误。 由于这是一个跨站点请求,jQuery必须使用JSONP技术 ,其中服务器响应被解释为脚本。 这是在浏览器中执行跨站点请求的唯一方法。

问题是服务器必须支持JSONP并用jQuery生成的回调包围JSON答案。 响应必须如下:

 jQuery17101705844928510487_1324249734338({"data":"whatever"}); 

PHP的服务器示例:

 send(); $json_data = $request->getResponseBody(); // wrap the data as with the callback $callback = isset($_GET["callback"]) ? $_GET["callback"] : "alert"; echo $callback."(".$json_data.");"; 

客户端 – 使用jQuery的示例:

 

您可以将PHP代码替换为任何其他服务器平台并执行所需的步骤。

  • HTTP-Request to JSON source
  • 用回调函数包装JSON