<style type="text/css">
.tishi{
color: red;
}
</style>
<script type="text/javascript">
function getAjax(){
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
} xhr.open("get", "getAjax03", true);
xhr.onreadystatechange = function(){
var jsonObj;
if(xhr.readyState==4){
jsonObj = JSON.parse(xhr.responseText);//可以将json字符串转换成json对象,用在前台js中。
alert("json对象:"+jsonObj);
alert("json字符串"+xhr.responseText);
alert("json字符串,使用stringify(jsonObj)"+JSON.stringify(jsonObj));//可以将json对象转换成json对符串 ,用在action中(java代码中)。
alert("姓名:"+jsonObj.name);
alert("性别:"+jsonObj.sex);
}
}
xhr.send(null);
}
function checkName(){
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}
xhr.open("get", "getAjax03?userName="+document.getElementById('userName').value+"", true);
var jsonObj;
var jsonStr;
var jiaoyan = document.getElementById("userName").value; //用于获取到输入框的值
var jiaodian = document.getElementById("userName"); //用于设置默认焦点,注意与上面一行的差别。
alert("jiaoyan:"+jiaoyan);
if(jiaoyan===""||jiaoyan===undefined){
alert("用户名不能为空");//判断是否为空;
jiaodian.focus(); //设置默认焦点,把默认焦点设置为注册用户名的input中。
}
xhr.onreadystatechange = function(){
if(xhr.readyState==4){
jsonStr = xhr.responseText;
alert("jsonStr:"+jsonStr);
jsonObj = JSON.parse(jsonStr);
var userName = jsonObj.userName;
document.getElementById("span").innerHTML=userName;
//注意上面的innerHTML属性,而不是.value属性,切记,给页面上的span标签设置值。
}
}
xhr.send(null);
} </script>
<body>
失去焦点值:<input type="text" onclick="getAjax()" id="a" /></br>
注册名:<input type="text" onblur="checkName()" id="userName" /><span class="tishi" id="span"></span></br>
密码:<input type="text" onblur="checkPassWord()" id="password" /></br> </body>
下面是Java代码:
public class GetAjax03 extends HttpServlet{
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
JSONObject jsonObj = new JSONObject();
jsonObj.put("name", "weiyongle");
jsonObj.put("sex", "nan");
System.out.println("jsonObj:"+jsonObj); String userName = request.getParameter("userName");
System.out.println("userName:"+userName);
if(userName.equals("weiyongle")){
jsonObj.put("userName", userName+"已经注册,请修改注册名");
}else{ jsonObj.put("userName", userName+"可以正常注册");
}
out.print(jsonObj);
System.out.println("jsonObj:"+jsonObj);
out.close();
}
}
下面是web.xml
<servlet>
<servlet-name>getAjax</servlet-name>
<servlet-class>com.wyl.web.GetAjax03</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>getAjax</servlet-name>
<url-pattern>/getAjax03</url-pattern>
</servlet-mapping>