Frage

Hier ist der Code, mit dem ich versucht habe zu arbeiten:

$.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);
    }
});

Die zurückkommenden Daten haben jedoch einen Fehler, da sie die angeforderte URL nicht versteht. Ich habe in Firebug auf die Registerkarte Netz angesehen und hier ist die URL, an die es versucht ist, zu rufen:

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

Ich denke, das Problem liegt in dem fetthaltigen Abschnitt, der ohne Grund hinzugefügt wird, soweit ich das beurteilen kann. Ich denke, die Remix -API sieht es und denkt, dass es sich um einen verpfuschten Parameter handelt. Gibt es eine Möglichkeit, das zu verhindern, dass das hinzugefügt wird?

War es hilfreich?

Lösung

Wenn Sie die Cache -Einstellung für JQuery AJAX deaktivieren, wird versucht, einen Zeitstempel an den QueryString anzuhängen. Dies kann das Problem sein, das Sie erleben. Versuchen Sie, die Funktion mit explizit aktiviertem Caching aufzurufen.

$.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'
}); 

Andere Tipps

Ich bin gerade zu dieser URL gegangen und es heißt "403 Entwickler inaktiv". Könnten Sie eine API -Entwicklerregistrierung durchführen, um durchzukommen, und ist Ihr Konto aktiv?

Viele dieser API -Anfragen (Netflix) müssen sich zuerst anmelden, und es wird Ihnen eine Sitzungs -ID zuweisen, die Sie in Ihren QueryString aufnehmen können. Könnte es sein, dass Sie nicht protokolliert sind

Tut mir leid, wenn diese offensichtliche Fragen erscheinen, werfe ich nur einige Ideen da draußen.

Es gibt 2 Probleme mit der oben angegebenen Remix -API -Abfrage: "&" und "Unterstrich" im JSON -Rückruf. Das "&" lässt die API denken, es ist ein neuer Parameter, den es nicht versteht. Der "Unterstrich" in einem JSON -Rückruf führt dazu, dass der Remix -Abfrage -Parser ein "konnte nicht verstehen ..." zurückgibt. Error.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top