Domanda

Ecco il codice che ho cercato di lavorare con:

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

Tuttavia, i dati che ritorna ha un errore perché non capisce l'URL richiesto. Ho guardato la scheda netta in Firebug ed ecco l'URL che sta cercando di chiamare a:

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

Credo che il problema risiede nella sezione in grassetto che viene aggiunto il per nessun motivo, per quanto posso dire. Credo che l'API Remix vede e pensa che sia un parametro pasticciata. Esiste un modo per fermare che vengano aggiunti?

È stato utile?

Soluzione

Quando disattivando l'impostazione cache per jQuery Ajax cercherà di aggiungere un timestamp al querystring. Questo può essere il problema vostra esperienza. Prova a chiamare la funzione con la cache esplicitamente abilitato.

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

Altri suggerimenti

Ho appena andato a quella URL e si dice "403 Developer Inattivo". Potrebbe essere bisogno di fare una registrazione sviluppatore API per ottenere attraverso ed è attivo il tuo account?

Un sacco di queste richieste API (Netflix) richiedono di effettuare il login in un primo momento, e ti assegnerà un ID di sessione da includere nel querystring. Potrebbe essere che non è registrato

Scusate se questi sembrano domande ovvie, sto solo gettando alcune idee là fuori.

Ci sono 2 problemi con la query Remix API detto sopra: la "&" e la "sottolineatura" nel callback JSON. La "e" rende l'API credo che sia un nuovo parametro che non capisce. Il "sottolineatura" in qualsiasi callback JSON farà sì che il parser di query Remix per restituire un "non riusciva a capire..." di errore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top