Как я могу запросить API Best Buy Remix с помощью jQuery?

StackOverflow https://stackoverflow.com/questions/1528368

  •  20-09-2019
  •  | 
  •  

Вопрос

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

$.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 это видит и считает, что это неудачный параметр.Есть ли способ остановить это добавление?

Это было полезно?

Решение

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

Другие советы

Я только что зашел по этому URL-адресу, и там написано «403 Разработчик неактивен».Возможно, вам понадобится регистрация разработчика API, чтобы пройти, и активна ли ваша учетная запись?

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top