您好,登錄后才能下訂單哦!
<!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>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。