0

これが私が使用しようとしてきたコードです:

$.getJSON("http://api.remix.bestbuy.com/v1/products(search=" + escape(searchCriteria) + ")?apiKey=" + hhApiKey + "&format=json&callback=?", 
function(data) {
    if(data.error) {
        alert("I'm sorry, there was an error processing your request.");
    } else {
        alert(data);
    }
});

ただし、返されるデータは、要求されたURLを理解していないため、エラーが発生します。Firebugのネットタブを確認しました。呼び出し先のURLは次のとおりです。

http://api.remix.bestbuy.com/v1/products(search=digital%20camera)?apiKey=myapikey&format=json&callback=json1264868431&_1254866270659 =

問題は、私が知る限り、理由もなく追加されている太字のセクションにあると思います。Remix APIはそれを見て、それが失敗したパラメーターだと思います。それが追加されないようにする方法はありますか?

4

3 に答える 3

3

jQuery ajaxのキャッシュ設定を無効にすると、クエリ文字列にタイムスタンプが追加されます。これはあなたが経験している問題かもしれません。キャッシュを明示的に有効にして関数を呼び出してみてください。

$.ajax({
    type: "GET",
    url: "http://api.remix.bestbuy.com/v1/products(search=" + escape(searchCriteria) + ")?apiKey=" + hhApiKey + "&format=json&callback=?",
    cache: true,
    success: function() {
        alert('success');
    },
    dataType: 'json'
}); 
于 2009-10-06T22:22:22.923 に答える
0

そのURLにアクセスしたところ、「403DeveloperInactive」と表示されています。通過するためにAPI開発者登録を行う必要があり、アカウントはアクティブですか?

これらのAPIリクエスト(Netflix)の多くは、最初にログインする必要があり、クエリ文字列に含めるセッションIDが割り当てられます。ログに記録されていない可能性があります

これらが明白な質問のように思われる場合は申し訳ありませんが、私はそこにいくつかのアイデアを投げています。

于 2009-10-06T23:09:04.317 に答える
0

上記のRemixAPIクエリには2つの問題があります。JSONコールバックの「&」と「アンダースコア」です。「&」は、APIが理解できない新しいパラメータであるとAPIに認識させます。JSONコールバックの「アンダースコア」により、Remixクエリパーサーは「理解できませんでした...」を返します。エラー。

于 2014-07-29T22:33:59.143 に答える