今天写个Ajax的小例子,我在项目中并没有用到过Ajax,看到Ajax很流行,今天写个demo,希望大家指点

创建一个全局的XMLrequest对象,该对象的方法如下

open():建立到服务器的新请求。

send():向服务器发送请求。

abort():退出当前请求。

readyState:提供当前 HTML 的就绪状态。

responseText:服务器返回的请求响应文本。

Onreadystatechange属性的五种状态:

  • 0:请求没有发出(在调用 open() 之前)。
  • 1:请求已经建立但还没有发出(调用 send() 之前)。
  • 2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。
  • 3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。

jsp代码如下:

<html>
 <head>
   <script language="javascript" type="text/javascript">
 var XMLrequest = false;
 try {
  request = new XMLHttpRequest();
 } catch (trymicrosoft) {
  try {
   XMLrequest = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
   try {
    XMLrequest = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (failed) {
    XMLrequest = false;
   }
  }
 }
 if (!XMLrequest){
  alert("Error initializing XMLHttpRequest!");
 }
 function callServer() {
    // Get the city and state from the web form
    var name = document.getElementById("name").value;
    var pwd = document.getElementById("pwd").value;
    // Only go on if there are values for both fields
    if ((name == null) || (name == "")) return;
    if ((pwd == null) || (pwd == "")) return;
    // Build the URL to connect to
    var url = "http://localhost:8080/ajaxproject/servlet/Login?name=" + escape(name) + "&pwd=" + escape(pwd);

  //escape() 方法,它用于转义不能用明文正确发送的任何字符。比如,电话号码中的空格将被转换成字符 %20
    // Open a connection to the server
    XMLrequest.open("GET", url, true);
    // Setup a function for the server to run when it's done
    XMLrequest.onreadystatechange = updatePage;
    // Send the request
    XMLrequest.send(null);
  }
 function updatePage() {
    if (XMLrequest.readyState == 4) {
      var response = XMLrequest.responseXML;
      var re = response.getElementsByTagName("name")[0].firstChild.nodeValue;
      document.getElementById("xianshi").value = re ;
    }
  }
</script>
 </head>
 <body>
  <form action="" method="get">
   <input type="text" name="name" onChange="callServer();"/>
   <input type="password" name="pwd" onChange="callServer();"/>
   <input type="submit" name="submit" onClick=""/>
  </form>
  <form action="">
   <input type="text" name="xianshi" id="xianshi" value=""/>
  </form>
 </body>
</html>

servetlet代码如下:

String name = request.getParameter("name");
  response.setContentType("text/xml;charset=utf-8");
  response.setHeader("Cache-Control", "no-cache");
  String xml = "<response>";
  if(name == null || name.trim().equals("")){
   xml +="<name>null</name>";
  }else {
   xml+="<name>"+name+"</name>";
  }
  xml+="</response>";
  PrintWriter out = response.getWriter();
  out.print(xml.toString());
  out.close();

转载于:https://www.cnblogs.com/xingzhen/archive/2011/05/30/2063153.html

一个简单的Ajax例子相关推荐

  1. struts2框架下的一个简单的ajax例子

    举个例子 jsp页面: <%@ page language="java" import="java.util.*" pageEncoding=" ...

  2. 使用struts2+JQuery实现的简单的ajax例子

    也为简单的业务需要,所以使用了Struts配合JQuery制作的一个简单的AJAX的例子,希望有兴趣的朋友可以看看. Js代码   <script type="text/javascr ...

  3. mvc登录实例 mysql_spring mvc + mybatis + mysql 调整的一个简单的登录例子

    spring mvc + mybatis + mysql 整合的一个简单的登录例子 今天用spring跟mybatis整合写了一个简单的登录例子,第一次整合,给自己做个笔记,可能注释写的有点少,做的不 ...

  4. 一个简单的Ajax开发框架

    根据Ajax与XMLHttpRequest对象一文的介绍,我们可以开发一个简单的Ajax框架供以后开发应用. 首先要知道Ajax的开发流程: 1:初始化XMLHttpRequest,这一步要考虑跨浏览 ...

  5. ajax登陆返回值判断,一个简单的ajax用户登陆返回值问题?有代码

    一个简单的ajax用户登陆返回值问题?有代码 來源:互聯網  2009-11-13 11:55:56  評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: ...

  6. boost::log模块实现一个简单日志的例子

    boost::log模块实现一个简单日志的例子 实现功能 C++实现代码 实现功能 boost::log模块实现一个简单日志的例子 C++实现代码 #include <boost/log/tri ...

  7. 轻松创建nodejs服务器(1):一个简单nodejs服务器例子

    这篇文章主要介绍了一个简单nodejs服务器例子,本文实现了一个简单的hello world例子,并展示如何运行这个服务器,需要的朋友可以参考下 我们先来实现一个简单的例子,hello world. ...

  8. 使用jQuery来实现一个简单的ajax请求

    下面的程序使用ajax来实现一个简单的ajax请求 JSP页面代码 <%@ page language="java" import="java.util.*&quo ...

  9. 一个简单的CORBA例子

    因为对CORBA分析的需要,这里写一个简单的CORBA例子.从JDK1.2开始,JDK中集成了ORB的实现,本例子使用了JDK1.7,对于JDK1.2+应该都没有问题.这个例子实现一个简单的加减乘除的 ...

最新文章

  1. IE6 下div高度显示的问题
  2. CDH大数据集群安全风险汇总
  3. 004_Bean标签
  4. 鸿合一体机触屏没反应怎么办_无线鼠标没反应,我来教您无线鼠标没反应怎么办?...
  5. 【九度OJ1518】|【剑指offer16】反转链表
  6. 搜索推荐中的召回匹配模型综述(二):基于表示学习的深度学习方法
  7. 扩展WCF的消息分发行为
  8. android:versionCode和android:versionName 用途
  9. 前端学习(2748):uniapp创建项目和演示
  10. WINDOWS8.1 安装 .NET35方法
  11. Qt 模态和非模态窗口的创建与关闭
  12. 零库存挑战-分压电阻选择器V1.01【下载地址发布】
  13. html展示微信昵称特殊字符,微信昵称加标签一直弹特殊符号
  14. 2.4 大电路静态工作点的稳定
  15. 如何将计算机硬盘导出,移动硬盘坏了怎么导出数据?这几点一定要牢记!
  16. html鼠标可拖动窗体,javascript div 弹出可拖动窗口
  17. 【12. 文件系统管理】
  18. Mybatis中的类型转换器
  19. Java获取基金接口天天基金_天天基金网数据接口
  20. FPGA学习——数字密码锁(上)

热门文章

  1. C++ 中的this指针详解及实例
  2. 对移码满足二进制减法的小思考
  3. MySQL Administrator
  4. k8s包管理器helm_kubernetes包管理神器-Helm
  5. maven 根据P参数值打包动态修改properties文件中值或一定properties
  6. M2Eclipse:Maven Eclipse插件无法搜索远程库的解决方法
  7. 软件工程期末考试复习(四)
  8. 模拟一次CSRF(跨站请求伪造)例子,适合新手
  9. 数论练习(1)——取余运算(快速幂)
  10. scrollView的几个属性contentSize contentOffset contentInset