什么是ajax【解释和实例】
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 function getXMLRequester( ) { var xmlhttp_request = false; try { if( window.ActiveXObject ) { for( var i = 5; i; i-- ) { try { if( i == 2 ) { xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" ); } else { xmlhttp_request = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" ); xmlhttp_request.setRequestHeader("Content-Type","text/xml"); xmlhttp_request.setRequestHeader("Content-Type","gb2312"); } break; } catch(e) { xmlhttp_request = false; } } } else if( window.XMLHttpRequest ) { xmlhttp_request = new XMLHttpRequest(); if (xmlhttp_request.overrideMimeType) { xmlhttp_request.overrideMimeType('text/xml'); } } } catch(e) { xmlhttp_request = false; } return xmlhttp_request ; } function IDRequest(n) { //定义收到服务器的响应后需要执行的JavaScript函数 url=n+document.getElementById('163id').value;定义网址参数 xmlhttp_request=getXMLRequester();调用创建XMLHttpRequest的函数 xmlhttp_request.onreadystatechange = doContents;调用doContents函数 xmlhttp_request.open('GET',url,true); xmlhttp_request.send(null); } function doContents() { if (xmlhttp_request.readyState == 4) { 收到完整的服务器响应 if (xmlhttp_request.status == 200) {HTTP服务器响应的值OK document.getElementById('message').innerHTML = xmlhttp_request.responseText; 将服务器返回的字符串写到页面中ID为message的区域 } else { alert(http_request.status); } } } 在区域建立一个文本框,id为163id,再建一个id为messsge的空白区域用来显示返回字符串(也可以通过Javascript函数截取一部分字符串显示): <input type=text id="163id"> < span id="message"></span> 这样,一个基于AJAX技术的用户名检测页面就做好了,不过这个页面将返回服务器响应生成页面的所有字符串,当然还可以对返回的字符串进行一些操作,便于应用到不同的需要当中。 实例二: 以XMLDocument对象方式返回响应来验证金山通行证帐号是否存在 在上面的例子中,当服务器对HTTP请求的响应被收到后,我们会调用请求对象的reponseText属性。该属性包含了服务器返回响应文件的内容。现在我们以XMLDocument对象方式返回响应,此时将不再需要reponseText属性而使用responseXML属性。 首先登陆金山通行证注册页面,我们发现金山通行证用户名的检测方式为: pass.kingsoft.com/ksgweb/jsp/login/uid.jsp?uid=用户名,并且返回XML数据: isExistedUid -2 当result值为-1时表示此用户名已被注册,当result值为-2时表示此用户名尚未注册,因此通过对result值的判断可以知道用户名是否被注册。 对上例代码进行修改: 首先找到 document.getElementById('message').innerHTML = xmlhttp_request.responseText; 改为: var response = xmlhttp_request.responseXML.documentElement; var result = response.getElementsByTagName('result')[0].firstChild.data;//返回result节点数据 if(result ==-2){ document.getElementById('message').innerHTML = "用户名"+document.getElementById('163id').value+"尚未注册";} else if(result ==-1){ document.getElementById('message').innerHTML = "对不起,用户名"+document.getElementById('163id').value+"已经注册";} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |