【问题标题】:json issue with google apis and jquerygoogle apis和jquery的json问题
【发布时间】:2014-11-14 04:23:24
【问题描述】:

嘿,我有以下代码给我一个错误:“Uncaught SyntaxError: Unexpected token :”

我的代码:

    $.getJSON("http://maps.googleapis.com/maps/api/place/details/json?reference="+ref_tel+"&sensor=true&key=MY_API_KEY&callback=?",
       function(data){

}, "json");

怎么了?

附: JSON 如下所示:

    {
  "html_attributions" : [],
  "result" : {
    "address_components" : [
      {
        "long_name" : "48",
        "short_name" : "48",
        "types" : [ "street_number" ]
      },
      {
        "long_name" : "Pirrama Road",
        "short_name" : "Pirrama Road",
        "types" : [ "route" ]
      },
      {
        "long_name" : "Pyrmont",
        "short_name" : "Pyrmont",
        "types" : [ "locality", "political" ]
      },
      {
        "long_name" : "NSW",
        "short_name" : "NSW",
        "types" : [ "administrative_area_level_1", "political" ]
      },
      {
        "long_name" : "AU",
        "short_name" : "AU",
        "types" : [ "country", "political" ]
      },
      {
        "long_name" : "2009",
        "short_name" : "2009",
        "types" : [ "postal_code" ]
      }
    ],
    "formatted_address" : "5/48 Pirrama Road, Pyrmont NSW, Australia",
    "formatted_phone_number" : "(02) 9374 4000",
    "geometry" : {
      "location" : {
        "lat" : -33.8669710,
        "lng" : 151.1958750
      }
    },
    "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
    "id" : "4f89212bf76dde31f092cfc14d7506555d85b5c7",
    "international_phone_number" : "+61 2 9374 4000",
    "name" : "Google Sydney",
    "rating" : 4.60,
    "reference" : "CnRlAAAAAfV6JIqSzL8Cf4VnXn0EaI1d5k3IPhdkEonq0MxiUbQFFSVuptVbXbNH4mrevb0bc7G8yWqTUv76i4KTuO_Wf3OrRHjCJJwzQ0mNLjbYGSVqy2eqyrgOUkl6S_sJfTbHzWZYrfPy7KZaet0mM5S6thIQJYuy5v_JD--ZxXEJLWTQRRoU5UaciXBBo89K-bce18Ii9RsEIws",
    "types" : [ "store", "establishment" ],
    "url" : "http://maps.google.com/maps/place?cid=10281119596374313554",
    "vicinity" : "5/48 Pirrama Road, Pyrmont",
    "website" : "http://www.google.com.au/"
  },
  "status" : "OK"
}

调试器显示错误在第 2 行。有人可以解决这个问题吗?

【问题讨论】:

  • 这不是提问的好方法。你有更多关于错误的信息吗?可能是行号?在你做出一些改变之前,你有它工作吗?可能是?在您的网址末尾?
  • 那个? jquery 使用它来为 JSONP 请求附加一个回调函数名称。
  • 你能在 firebug 或 fiddler 或 chrome 开发者工具中看到响应吗
  • 这里是,响应看起来像我显示的那样,调试器在第 2 行显示错误:“html_attributions”:[],

标签: javascript jquery json google-maps


【解决方案1】:

Google 地图Places API 似乎不支持JSONP。因此,您无法在客户端使用它(此外,如果将 API 密钥放在源代码中的某个位置,您将暴露您的 API 密钥)。

顺便说一句,你的代码会因为

而引发错误
{
  "something" : value
}

被解释为代码块(语句)而不是对象(表达式)。 Javascript 具有以下语法的标签:

labelName : statement

但只有标识符可以用作标签名称。字符串(或更一般地说,任何表达式)不能。这会导致语法错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多