2012-12-20 3 views
0

jquery를 사용하여 gamebanana api에 액세스하고 싶습니다. 직접게임 바나나 액세스 ap

var url = 'http://www.gamebanana.com/api?request=Member.1382.["user_title"]'; 
$.get(url, function(data) { console.log(data); 
}); 

이 URL에 액세스가 잘못된 것에 대해 메시지를 보여줍니다 내 코드는 다음과 같습니다. URL이나 중괄호의 따옴표에 문제가있을 수 있습니까? 누군가가 올바르게 수행하는 방법에 대한 예제를 줄 수 있습니까?

+2

비참한 API 디자인입니다. 어쨌든, 저를 위해 잘 작동합니다. 올바른 URL 인코딩을 사용해야합니다. http://gamebanana.com/api?request=Member.1382.[%22user_title%22] 그러나 도메인 간 아약스를 만들 수는 없습니다. API가 JSONP 또는 CORS를 지원하지 않으면 호출됩니다. –

+0

URL 인코딩을 추가하는 방법을 보여 줄 수 있습니까? – shash7

+0

쿼리 매개 변수 값에 ['encodeURIComponent()'] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent)를 사용하거나 쿼리 매개 변수를'$. $ .get ('http://www.gamebanana.com/api', {요청 : 'Member.1382. [ "user_title"]'}, 함수 ...)와 같이 get()'을 사용하십시오. –

답변

0

I (RazerKat)이 자바 스크립트로이 래퍼를 작성했습니다. 그것은 잘 작동하지만 때로는 작동시키기 위해 추가 물건이 필요할 수도 있습니다. 특히 GameBanana에서 이것은 좋은 시작입니다. 또한 인터넷 익스플로러와 모질라 파이어 폭스 모두에서 작동하는 크로스 브라우저 호환 제품입니다. 이 경우 GameBanana는 서버 측에서 정보를 얻기 위해 GET 요청을 사용하는 것 같습니다. 따라서 POST를 GET으로 변경하고 send 변수를 제거하고 삭제 된 변수를 열기 요청에 넣어야합니다. 바르게. 또한 사이트에서 특히 잘 작동 할 수 있다는 점에 유의하십시오. 원하는 효과를 얻기 위해 코드를 조정해야합니다.

var DataObject;function AJAX_JSON_Request(p,d,u){var Request;if(window.XMLHttpRequest){Request=new XMLHttpRequest();}else{Request=new ActiveXObject("Microsoft.XMLHTTP");} 
    Request.onreadystatechange=function(){if(Request.readyState==4&&Request.status==200){DataObject=JSON.parse(Request.responseText),DataObject.XML=Request,DataObject.JSON=Request.responseText;}} 
    Request.open("POST",u,true); 
    Request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
    Request.send(p+"="+d);}