復(fù)制代碼 代碼如下:
var xmlhttp = null;
function myajax() {
//1、創(chuàng)建XMLHttpRequest對(duì)象
//2、需要針對(duì)IE和其它瀏覽器建立這個(gè)對(duì)象的不同方式寫不同的代碼
if (window.XMLHttpRequest) {
//針對(duì)FF,Mozilar,Opera,Safari,IE7,IE8
xmlhttp = new XMLHttpRequest();
//修正某些瀏覽器bug
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) {
//針對(duì)IE6以下的瀏覽器
var activexName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP", ""];
for (var i = 0; i activexName.length; i++) {
try {
//取出一個(gè)控件名稱創(chuàng)建,如果創(chuàng)建成功則停止,反之拋出異常
xmlhttp = new ActiveXObject(activexName[i]);
break;
} catch (e) { }
}
}
//需要確認(rèn)xmlhttp創(chuàng)建是否成功
if (!xmlhttp) {
alert("XMLHTTPRequest創(chuàng)建失敗!");
return;
} else {
alert(xmlhttp);
}
//注冊(cè)回調(diào)函數(shù)。注意注冊(cè)回調(diào)函數(shù)是不能加括號(hào),加了會(huì)把函數(shù)的值返回給onreadystatechange
xmlhttp.onreadystatechange = callback;
//設(shè)置連接信息
//第一個(gè)參數(shù)表示http請(qǐng)求方式,支持所有http的請(qǐng)求方式,主要使用get和post
//第二個(gè)參數(shù)表示請(qǐng)求的url地址,get方式請(qǐng)求的參數(shù)也在urlKh
//第三介參數(shù)表示采用異步還是同步方式交互,true表示異步
xmlhttp.open("GET", "servlet/CheckUserName?userName=" + userName, true);
//發(fā)送數(shù)據(jù)表示和服務(wù)器端交互
//同步方式下,send這名話會(huì)在服務(wù)器端數(shù)據(jù)回來(lái)后才執(zhí)行完
xmlhttp.send(null);
//異步方式下,send這句話立即完成執(zhí)行
//POST方式請(qǐng)求的代碼
//xmlhttp.open("POST","servlet/CheckUserName",true);
//POST方式需要自己設(shè)置http的請(qǐng)求頭
//xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//POST方式發(fā)送數(shù)據(jù)
//xmlhttp.send("userName="+userName);
}
//回調(diào)函數(shù)
function callback() {
//判斷對(duì)象的狀態(tài)是交互完成
if (xmlhttp.readyState == 4) {
//判斷http的交互是否成功
if (xmlhttp.status == 200) {
//獲取服務(wù)器端返回的數(shù)據(jù)
//獲取服務(wù)器端輸出的純文本數(shù)據(jù)
var responseText = xmlhttp.responseText;
alert(responseText);
}
}
}
您可能感興趣的文章:- javascript原生ajax寫法分享
- 原生AJAX寫法實(shí)例分析
- 基于wordpress的ajax寫法詳解