Pergunta

Aqui está o código com o qual tenho tentado trabalhar:

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

No entanto, os dados que retornam têm um erro porque não entendem o URL solicitado. Eu olhei para a guia Net em Firebug e aqui está o URL que está tentando chamar:

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

Eu acho que o problema está na seção em negrito, que está sendo adicionada sem motivo, tanto quanto eu sei. Eu acho que a API do remix vê e acha que é um parâmetro mal feito. Existe alguma maneira de impedir que isso seja adicionado?

Foi útil?

Solução

Ao desativar a configuração do cache para o jQuery Ajax, ele tentará anexar um registro de data e hora à tentativa de consulta. Este pode ser o problema que você está experimentando. Tente chamar a função com o cache explicitamente ativado.

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

Outras dicas

Acabei de ir a esse URL e diz "403 desenvolvedor inativo". Você poderia precisar fazer um registro de desenvolvedor de API para passar e sua conta está ativa?

Muitas dessas solicitações de API (Netflix) exigem que você faça login primeiro e atribuirá um ID de sessão a você para incluir na sua consulta. Será que você não está registrado

Desculpe se essas parecem perguntas óbvias, estou apenas lançando algumas idéias por aí.

Existem 2 problemas com a consulta da API Remix declarada acima: o "&" e o "sublinhado" no retorno de chamada do JSON. O "&" faz com que a API pense que é um novo parâmetro que não entende. O "sublinhado" em qualquer retorno de chamada do JSON fará com que o analisador de consulta remix de retornar um "não conseguia entender ..." erro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top