我(RazerKat)在JavaScript中寫了這個包裝。它很好地工作,但有時你可能需要額外的東西來使它工作。尤其在GameBanana中,這是一個好的開始。它也是跨瀏覽器兼容的,它可以在Internet Explorer和Mozilla Firefox中使用。在這種情況下,GameBanana似乎使用GET請求從服務器端獲取信息,因此您只需將POST更改爲GET並刪除發送變量,並將刪除的變量放入打開的請求中,而不是使其獲取數據正確。另外請注意,它只能在其網站上專門運行,您需要調整代碼以達到所需的效果。
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);}
什麼是悲慘的API設計。無論如何,對我來說工作得很好,你只需要使用正確的URL編碼:http://gamebanana.com/api?request=Member.1382.[%22user_title%22]但是,你不能做跨域阿賈克斯除非API支持JSONP或CORS。 –
你能告訴我如何添加網址編碼嗎? – shash7
對查詢參數值使用['encodeURIComponent()'](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent),或將查詢參數單獨傳遞給'$。 get()',如'$ .get('http://www.gamebanana.com/api',{request:'Member.1382。[「user_title」]'},function ...)' –