Best Buy Remix API w/ jQuery를 쿼리하려면 어떻게해야합니까?
-
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=
나는 문제가 내가 말할 수있는 한 아무런 이유없이 추가되고있는 굵은 섹션에 놓여 있다고 생각합니다. 리믹스 API가 그것을보고 그것이 otched 매개 변수라고 생각합니다. 추가되는 것을 막을 방법이 있습니까?
해결책
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 Developer ofactive"라고 말합니다. 통과하기 위해 API 개발자 등록을해야 할 수 있고 계정이 활성화되어 있습니까?
이러한 API 요청 (Netflix) 중 많은 부분에서 먼저 로그인해야하며 쿼리 스트링에 포함 할 세션 ID를 할당합니다. 로그인하지 않았을 수 있습니다
이것들이 명백한 질문처럼 보이면 죄송합니다. 나는 그냥 아이디어를 던지고 있습니다.
위에서 언급 한 리믹스 API 쿼리에는 JSON 콜백의 "&"및 "밑줄"이라는 두 가지 문제가 있습니다. "&"는 API가 이해하지 못하는 새로운 매개 변수라고 생각합니다. JSON 콜백의 "밑줄"은 리믹스 쿼리 파서가 "이해할 수 없음"을 반환하게합니다. 오류.