ajax的使用

本文详细介绍了异步JavaScript与XML(AJAX)的典型交互流程,包括客户端触发异步操作、创建XMLHttpRequest对象、与服务器进行连接、服务器处理请求并返回XML文档等步骤。同时,通过示例展示了如何使用JavaScript实现客户端验证功能,并说明了服务器端处理请求时的响应策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Asynchronous Javascript and XML

典型的流程

1.客户端触发异步操作
2.创建新的XMLHttpRequest对象
3.与Server进行连接
4.服务器端进行连接处理
5.返回包含处理结果的XML文档
6.XMLHttpRequest对象接收处理结果并分析
7.更新页面

客户端触发:

<input type=text id="username" name="username" size="30" maxlength="10" onblur="validate()"/>
<span id=restext></span>

创建XHR:

<script type="text/javascript">
 var req;
 function validate() {
  if(window.XMLHttpRequest) {
      req = new XMLHttpRequest();
     } else if (window.ActiveXObject) {
       req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    var username = document.getElementById("username");
    var url = "registervalidate.jsp?username=" + escape(username.value);
    req.open("GET", url, true);
    req.onreadystatechange=callback;//此处为回调函数(钩子函数)没有括号,使用的是函数指针
    req.send(null);
 }
 
 function callback() {
  if (req.readyState == 4) {
      if (req.status == 200) {
        var msg = req.responseXML.getElementsByTagName("msg")[0];//XMLHttpRequest对象接收处理结果并分析
          setMsg(msg.childNodes[0].nodeValue);//更新页面
     } 
   }
 }
 
 function setMsg(msg) {
    document.getElementById("restext").innerHTML="<font color='red'>" + msg + "</font>";
 }
</script>

server处理方式(registervalidate.jsp中的内容),返回包含处理结果的XML文档:

<%
 //可以采用清除缓存的方法(最好全写),如下
 response.setContentType("text/xml");
 response.setHeader("Cache-Control", "no-store"); //HTTP1.1 
 response.setHeader("Pragma", "no-cache"); //HTTP1.0
 response.setDateHeader("Expires", 0);
 response.getWriter().write("<msg>invalid</msg>");
%>

转载于:https://www.cnblogs.com/happy-kate/p/3245887.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值