Как я могу запросить Best Buy Remix API с jQuery? - PullRequest
0 голосов
/ 07 октября 2009

Вот код, с которым я пытался работать:

$.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-адрес. Я посмотрел на вкладку net в Firebug и вот URL, на который он пытается вызвать:

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

Я думаю, что проблема кроется в полужирном разделе, который, насколько я могу судить, добавляется без всякой причины. Я думаю, что Remix API видит это и думает, что это неверный параметр. Есть ли способ остановить это добавление?

Ответы [ 3 ]

3 голосов
/ 07 октября 2009

При отключении настройки кэша для 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'
}); 
0 голосов
/ 30 июля 2014

Существует 2 проблемы с запросом Remix API, указанным выше: «&» и «подчеркивание» в обратном вызове JSON. «&» Заставляет API думать, что это новый параметр, который он не понимает. «Подчеркивание» в любом обратном вызове JSON приведет к тому, что синтаксический анализатор запросов Remix вернет «не удалось понять ...» ошибка.

0 голосов
/ 07 октября 2009

Я только что перешел на этот URL, и там написано "403 Developer Inactive". Может быть, вам нужна регистрация API-разработчика, чтобы войти, и активен ли ваш аккаунт?

Многие из этих запросов API (Netflix) требуют, чтобы вы сначала вошли в систему, и он назначит вам идентификатор сеанса для включения в вашу строку запроса. Может быть, вы не вошли

Извините, если эти вопросы кажутся очевидными, я просто поделюсь с вами некоторыми идеями.

...