Ajax局部刷新(使用JS操作)

  对于在不使用Ajax的情况下,使用JS来进行局部刷新,主要有如下的几步:

    1. 得到XMLHttpRequest

    2. 使用open方法打开连接

    3. 设置请求头信息

    4. 注册onreadystatechange事件,并判断是否请求响应成功(使用readyState和status)

    5. 在请求和响应成功之后,取得服务器响应的数据,使用responseText

  对于直接使用js来自己编写,这样工作复杂,步骤多,我们可以将其进行封装好。同时还有一种更好的方式,就是使用jquery中的ajax方法。

代码:

  javascript:

<script type="text/javascript"> // 取得XMLHttpRequest对象,这个需要进行浏览器的判断 function getXMLHttp() { try { // 绝大多数的浏览器 return new XMLHttpRequest(); } catch (e) { // ie游览器的判定 // 判断ie6.0 try { return new ActvieXObject("Msxml2.XMLHTTP"); } catch (e) { // 判断ie5.5及其更早的ie游览器 try { return new ActvieXObject("Microsoft.XMLHTTP"); } catch (e) { alert("无法取得XMLHttpRequest"); // 抛出异常信息 throw (e); } } } } // 进行ajax操作,此操作必须在页面加载完成之后,进行操作 window.onload = function() { // 第一步:取得username文本框和font标签的元素对象 var userEle = document.getElementById("username"); var fontEle = document.getElementById("msg"); // 第二部:注册username文本框失去焦点事件 userEle.onblur = function() { // 第三部:得到ajax的请求对象 var xmlHttp = getXMLHttp(); // 第四部:打开连接,第一个参数表示使用post方式提交;第二个参数表示提交的地址,第三个参数表示打开连接 xmlHttp.open("POST", "<c:url value=\'/AjaxServlet\'/>?method=ifRegister", true); // 第五步:设置请求头信息 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // 第六步:发送请求 xmlHttp.send("username=" + userEle.value); // 第七步:判断是否请求和响应成功 // 并给xmlHttp的onreadystatechange事件注册监听 xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { // 表示响应成功 // 在此处接收ajax的响应内容 var text = xmlHttp.responseText; if(text==\'n\') { // 将提示信息,写到页面font标签内 fontEle.innerHTML = "*此用户名已存在..."; } } }; }; }; </script>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjffy.html