加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax技术核心

发布时间:2020-12-16 00:30:19 所属栏目:百科 来源:网络整理
导读:/***AJAX技术核心**inputname="name".../提交name**1.创建XMLHTTPRequest*2.设置回调函数*3.使用open方法与服务器建立连接*4.send,向服务器数据发送*5.在回调函数针对不同响应状态进行处理*/varxmlhttp;//用户名校验//使用XMLHTTPrequest对象进行AJAX对象交
/**
*AJAX技术核心
*
*<inputname="name".../>提交name
*
*1.创建XMLHTTPRequest
*2.设置回调函数
*3.使用open方法与服务器建立连接
*4.send,向服务器数据发送
*5.在回调函数针对不同响应状态进行处理
*/
varxmlhttp;
//用户名校验
//使用XMLHTTPrequest对象进行AJAX对象交互
functionverify(){
varname=document.getElementById("name").value;

//创建XMLHTTPrequest对象
//需要针对IE和其它类型的浏览器建立这个对象的不同方式写不同的代码
if(window.XMLHttpRequest){
//针对主流浏览器
xmlhttp=newXMLHttpRequest();
//针对某些版本的浏览器进行BUG修正
if(xmlhttp.overrideMomeType){
xmlhttp.overrideMimdeType("text/xml");
}
}elseif(window.ActiveXObjext){
//IE6,IE6-
//两个可以用于创建XMLHttpRequest对象的控件名称保存在js数组中
varactiveName=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for(vari=0;i<activeName.length;i++){
try{
xmlhttp=newActiveXObject(activeName[i]);
break;
}catch(e){
//
}
}
}
//确认XMLHTTPrequest对象创建成功
if(!xmlhttp){
alert("XMLHttpRequest对象创建失败");
}else{
//alert(xmlhttp);
}

//注册回调函数(函数名,不需要加括号)
//如果加上括号,就会把函数的返回值注册上,error
xmlhttp.onreadystatechange=callback;

//设置连接信息
//第三个参数表示采用异步还是同步方式交互,true为异步
xmlhttp.open("GET","ajaxServlet?name="+name,true);

//xmlhttp.open("POST","ajaxServer",true);
//POST需要自己设置http的请求头
//xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")

//发送数据,和服务器端进行交互
//get方式的数据全部在url里面,所以为null
xmlhttp.send(null);

//POST方式发送数据
//xmlhttp.send("name="+name);
}
//回调函数
functioncallback(){
//判断对象的状态是否交互完成
if(xmlhttp.readyState==4){
//判断http的交互是否成功
if(xmlhttp.status==200){
//使用responseXML的方式来接受xml数据对象
vardomObj=xmlhttp.responseXML;
//利用getElementByTagName根据标签前面来获取元素
varmessageNode=domObj.getElementsByTagName("message");
if(messageNode.length>0){
//varresponseMessage=messageNode[0].innerHTML;
vartextNode=messageNode[0].firstChild;
//nodeValue返回文本节点的文本内容
varresponseMessage=textNode.nodeValue;

//将数据显示在页面上
vardivNode=document.getElementById("result");
divNode.innerHTML=responseMessage;
}else{
alert("xml数据出错:"+xmlhttp.responseText);
}
}
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读