標籤:提交 amp response body test encodeuri status eof ESS
<!DOCTYPE html><html><head> <title>封裝ajax</title></head><body><!-- 05:59 ajax 下--><script type="text/javascript"> function createXHR() { if(typeof XMLHttpRequest != "undefined") { return new XMLHttpRequest(); } else if(typeof ActiveXObject != "undefined") { var versions = [ "MSXML.2.XMLHttp.6.0", "MSXML.2.XMLHttp.3.0", "MSXML.2.XMLHttp" ]; for(var i = 0; i<versions.length;i++) { try{ return new ActiveXObject(version[i]); }catch(e){ // 因類迴圈會報一個錯,跳過些錯 } } } else { throw new Error("你的系統或瀏覽器不支援XHR對象!"); } } // 名值對轉換字串 function params(data) { var arr = []; for(var i in data) { arr.push(encodeURIComponent(i)+"="+encodeURIComponent(data[i])); } return arr.join("&"); } // ajax function ajax(obj) { var xhr=createXHR(); obj.url=obj.url+"?rand="+Math.random()+"&"+params(obj.data); obj.data = params(obj.data); if(obj.method === "GET") { obj.url=obj.url+"&"+obj.data; } xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if(xhr.status == 200) { obj.success(xhr.responseText) } else { console.log("錯誤碼:"+xhr.status+"-錯誤資訊"+xhr.statusText); } } } xhr.open(obj.method,obj.url,obj.async); xhr.send(null); } // use ajax addEventListener("click",function(){ ajax({ method:"GET", url:"test.php", data:{ "na&me":"ping", "age":18 }, // 將對象傳到text,然後對象又回調 success:function(text) { console.log("接收success資料為:"+text); }, async:true }); },false);</script></body></html>
JavaScript的Ajax之GET提交資料