ajax

1.获取XMLHttpResponse对象;(1号线)
function getXMLHttpRequest(){
try {
//火狐浏览器
xmlHttpRequest=new XMLHttpRequest();
} catch (e) {
//IE浏览器
xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlHttpRequest;
}

2.调用xmlHttpRequest的open("get/post",url,true)和send()方法;(二号线)
myXmlRequest = getXMLHttpRequest();
if(myXmlRequest){
var url = "/ajax_userCheck/registerServlet?name="+$("name").value;
//此方法用于设置 myXmlRequest的回调函数名称
myXmlRequest.onreadystatechange=returnCheckName;
//打开连接
myXmlRequest.open("get",url,true);
//window.alert($("name"));
//如果使用的是post方法send()括号中填写需要发送的数据;
myXmlRequest.send(null);
}
 3.servlet响应http请求(java版)(3号线);
response.setContentType("text/xml");
//如果返回xml格式数据此处需要改为"text/xml"
response.setHeader("Content-Type", "text/xml;charset=utf-8");
response.setHeader("Cache-Control", "no-cache");
response.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
if(name==null||name==""||"shunping".equals(name)){
//此处可以返回3中格式1.普通文本(html)2.xml格式 4.JSON格式
response.getWriter().print("<res><mes>对不起,该用户名不可用!</mes></res>");
//JSON
response.getWriter().print("{'mes':'对不起,该用户名不可用!','date':'2016-12-12'}");
}else{
response.getWriter().print("<res><mes>恭喜,该用户名可用!</mes></res>");
4.ajax接收服务器返回的(4号线)

//我要取出从registerPro.php页面返回的数据,myXmlRequest.readyState==4表示状态完成
if(myXmlRequest.readyState==4){
//取出值,根据返回信息的格式定.text

//$("nameCheck").value =myXmlRequest.responseText;
//取出值,根据返回信息的格式定xml
var mes = myXmlRequest.responseXML.getElementsByTagName("mes");
//看看如何取出 xml格式数据
//mes[0]->表示取出第一个mes节点
//mes[0].childNodes[0]->表示第一个mes节点的第一个子节点
var mes_val=mes[0].childNodes[0].nodeValue;
$("nameCheck").value= mes_val;
//接收json
 var mes = myXmlRequest.responseText;
//eval()函数,用于把json转换为对象;
mes_obj=eval("("+mes+")");
$("nameCheck").value= mes_obj.mes;
}






posted @ 2017-03-26 11:14  Mr.xiaobai丶  阅读(237)  评论(0编辑  收藏  举报