2012-02-18 10 views
0
ちょっと私は私にエラーを与えて次のコードしている

: "キャッチされないでSyntaxErrorを:予期しないトークン:"JSON問題

マイコード:

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

}, "json"); 

何が悪いのでしょうか?

P.S. 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行目に表示されます。誰かがこれを修正できますか?

+0

これは質問するのに最適な方法ではありません。エラーについてさらに詳しい情報はありますか?ラインナンバー?あなたは何らかの変更を加える前にそれを働かせましたか?それはかもしれない?あなたのURLの最後に? –

+0

? JSONPリクエストのコールバック関数名を追加するためにjqueryによって使用されます。 – Fox32

+0

firebugまたはfiddlerまたはchromeの開発者ツール – Rafay

答えて

1

GoogleマップPlaces APIは、JSONPをサポートしていないようです。つまり、クライアントサイドでは使用できません(ソースコードのどこかに置くとAPIキーが公開されます)。ところで

、コードがあるため

{ 
    "something" : value 
} 

のエラーをスローする代わりに、オブジェクト(式)のコード(文)のブロックとして解釈されます。 Javascriptには、次の構文のラベルがあります。

labelName : statement 

ラベル名としては、識別子のみを使用できます。文字列(または、より一般的には、任意の式)はできません。その結果、構文エラーが発生します。