Ajax學(xué)習(xí)內(nèi)容 Java——Servlet
Ajax部分代碼,沒有使用Ajax框架處理。
<script type="text/javascript">
var xmlHttp;
function createXmlHttpRequest(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
}
//用戶輸入完用戶名,將光標(biāo)移動(dòng)到密碼框輸入密碼時(shí),驗(yàn)證用戶名是否被占用
function checkUser(){
createXmlHttpRequest();
var userName = document.getElementById("userName").value;
/*
如何此處為get提交方式,應(yīng)該寫成:
xmlHttp.open("get","checkU?userName" + userName,true);
去除 xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
把 xmlHttp.send("userName=" + userName); 修改成 xmlHttp.send(null);
已URL行駛傳遞過去。
*/
xmlHttp.open("post","checkU",true);//Ajax核心方法之1:指定發(fā)送方式,指定發(fā)送路徑
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//定義一個(gè)函數(shù)接收返回?cái)?shù)據(jù)
xmlHttp.onreadystatechange = function(){
//注意狀態(tài)值,需要為4的時(shí)候才能可以滿足條件
if(xmlHttp.readyState == 4){
document.getElementById("checkResult").innerHTML = xmlHttp.responseText;//接收返回結(jié)果
}
}
xmlHttp.send("userName=" + userName);//發(fā)送值
/*
發(fā)送值在方法onreadystatechange后,必須這么去寫,請(qǐng)注意
*/
}
</script>
-----------------------------------------------------------------------------------
HTML部分代碼
<!-- 用一個(gè)span標(biāo)簽來處理加載內(nèi)容 -->
<input type="text" name="userName" id="userName" onblur="checkUser();"/><span id="checkResult"></span><br/>
-------------------------------------------------------------------------------------
Servlet代碼
response.setCharacterEncoding("utf-8");
//取的傳入的請(qǐng)求參數(shù)
String userName = request.getParameter("userName");
//判斷是否為abc,然后響應(yīng)輸出信息到界面
if(!userName.equals("abc")){
response.getWriter().print("恭喜您,用戶名可以使用!");
}else{
response.getWriter().print("對(duì)不起,用戶名已被占用!");
}
posted on 2010-05-22 11:53 Rabbit 閱讀(244) 評(píng)論(0) 編輯 收藏