2017-02-02 8 views
-1

JSONPのデータを取得しようとしていますが、関数が呼び出されると構文エラーが返されます。私はこの話題には本当に新しく、理由を理解していません。おそらく私はJSONPリクエストのすべてを理解していなかったでしょう。誰かが私を助けることができればいいと思う。JSONPリクエスト後の構文エラー

実行されるコード:

$.ajax({ 
     url: "https://backpack.tf/api/IGetMarketPrices/v1?format=json&callback=JSONP&key=XXX&appid=730", 
     dataType: "jsonp", 
     data: {format: "json"}, 
     type: "GET", 
     jsonp: "response", 
     jsonpCallback: "response", 
     success: function(response) { 
      console.log(response); // server response 
     } 
     }); 

(私は私のAPIキーを検閲する必要がありました。)

エラー:Uncaught SyntaxError: Unexpected token :

応答は次のとおりです。

{"response":{"success":1,"current_time":1486000891,"items":{"AK-47 | Aquamarine Revenge (Battle-Scarred)":{"last_updated":1485997229,"quantity":80,"value":1092},... 

最初:ありますChromeによって下線が引かれています。

Hereは、APIのドキュメントです。試行錯誤から

+1

つまり、JSONPを使用していないことを意味します。 – epascarello

+2

'応答は:' JSONPではない - それは単なるJSONです - おそらくbackback.tfは "JSONP"をしません –

+0

@Jaraomanda Xですが、ドキュメント上ではコールバックのみJSONPと言います。 – user405981

答えて

1

- 印象的な私が説明するために、何のAPIキー

$.ajax({ 
    url: "https://backpack.tf/api/IGetMarketPrices/v1?format=jsonp&key=XXX&appid=730", 
    dataType: "jsonp", 
    type: "GET", 
    success: function(response) { 
     console.log(response); // server response 
    } 
}); 

または

$.ajax({ 
    url: "https://backpack.tf/api/IGetMarketPrices/v1", 
    dataType: "jsonp", 
    type: "GET", 
    data: { 
     format: 'jsonp', 
     key: 'XXX', 
     appid: 730 
    }, 
    success: function(response) { 
     console.log(response); // server response 
    } 
}); 

を持っていないよう... jQueryのは、自動的にJSONPリクエストにcallbackと呼ばれるクエリパラメータを追加します... APIにはcallbackというパラメータでコールバック名を定義する必要があるので、jQueryにデフォルト値のcallback

を使用させることができます

次に、jQueryのは、長いランダムな名前の関数を作成し、その機能にcallbackパラメータの値を設定します - 私は

をしなければならないデフォルトは良いです - ので、あなたはjsonpまたはjsonpCallbackパラメータを心配する必要はありませんこれはうまくいくはずなので、何か基本的なものが欠けているでしょ

+0

私は' Uncaught ReferenceError:jQuery311093371141215399_1486002924271が定義されていません。 'とウィットしました – user405981

+0

私はそれがおそらく応答がラップされた'jQuery31109337491141215399_1486002924271(...)'にありましたが、なぜ今そこにいるのかわかりません。希望が役立ちます。 – user405981

+0

'レスポンスがラップされました。 ' - そう、JSONPの仕組みです! –

関連する問題