简单Ajax例子
一、概述
1.程序执行流程:
(1)点击id="testBtn"的按钮,触发validate();
(2)validate()中有调用request.open方法与server交互(在url指定的jsp页面中,调用writer编写了xml文件并以responseXML返回给request);
(3)交互状态有变时会调用callback函数,callback判定状态,若交互成功则读取responseXML中的值;
(4)根据读取到的responseXML中的值动态生成innerHTML返回给页面。
二、代码
1.index.html
<html>
<head>
<script> function validate(){
var idField = document.getElementById("testBtn");
var url = "validate.jsp?id="+escape(idField);
req = new XMLHttpRequest();
req.open("GET", url, true);
req.onreadystatechange = callback;
req.send(null); } function callback(){
if(req.readyState == 4){
//alert(req.status);
//alert(req.responseXML);
//alert( msg);
if(req.status == 200){
var msg = req.responseXML.getElementsByTagName("msg")[0];
setMsg(msg.childNodes[0].nodeValue);
}
}
} function setMsg(msg){
var mdiv = document.getElementById("ajaxMsg");
if(msg == "abc"){
mdiv.innerHTML = "<div>America Born Chinese</div>";
}else if(msg == "123"){
mdiv.innerHTML = "<div>阿拉伯数字</div>";
} }
</script>
</head>
<body>
<input type="submit" id="testBtn" onclick="validate()" value="mybutton"/>
<span id="ajaxMsg"></span>
</body>
</html>
2.validate.jsp
<%
response.setContentType("text/xml");
response.setHeader("Cache Control", "no store");
response.setHeader("Pragam","no-cache");
response.setDateHeader("Expires", 0);
response.getWriter().write("<msg>abc</msg>");
%>
三、运行结果

简单Ajax例子的更多相关文章
- php+jquery+ajax+json简单小例子
直接贴代码: <html> <title>php+jquery+ajax+json简单小例子</title> <?php header("Conte ...
- 用最简单的例子实现jQuery图片即时上传
[http://www.cnblogs.com/Zjmainstay/archive/2012/08/09/jQuery_upload_image.html] 最近看了一些jQuery即时上传的插件, ...
- 简单的例子了解自定义ViewGroup(一)
在Android中,控件可以分为ViewGroup控件与View控件.自定义View控件,我之前的文章已经说过.这次我们主要说一下自定义ViewGroup控件.ViewGroup是作为父控件可以包含多 ...
- CSharpGL(1)从最简单的例子开始使用CSharpGL
CSharpGL(1)从最简单的例子开始使用CSharpGL 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo ...
- 用一个简单的例子来理解python高阶函数
============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...
- Ajax例子,views返回,html接收数据
Ajax例子,views返回,html接收数据 views from django.shortcuts import render,HttpResponse,render_to_response im ...
- Spring-Context之一:一个简单的例子
很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...
- C#调用存储过程简单完整例子
CREATE PROC P_TEST@Name VARCHAR(20),@Rowcount INT OUTPUTASBEGIN SELECT * FROM T_Customer WHERE NAME= ...
- 关于apriori算法的一个简单的例子
apriori算法是关联规则挖掘中很基础也很经典的一个算法,我认为很多教程出现大堆的公式不是很适合一个初学者理解.因此,本文列举一个简单的例子来演示下apriori算法的整个步骤. 下面这个表格是代表 ...
随机推荐
- Ubuntu 12.04 Desktop使用XAMPP
Ubuntu 12.04 Desktop安装XAMPP Ubuntu 12.04 Desktop配置XAMPP Ubuntu 12.04 Desktop使用XAMPP 1/打开GUI界面的管理工具 终 ...
- 将项目初始化到git服务器
使用的是GitLab来管理Git服务器; 步骤: 一. 先在服务器上创建一个新的项目(GitLab右上角的New project)
- struts2标签详解
struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...
- android开发 wifi开发工具类
import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Iterator; import j ...
- python+selenium浏览器调用(chrome、ie、firefox)
代码: #coding=utf-8 from selenium import webdriver driver=webdriver.Chrome() #调用chrome浏览器 driver.get(' ...
- Posix线程编程指南(3) 线程同步
互斥锁 尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中定义了另外一套专门用于线程同步的m ...
- poi实现Excel比较
http://stackoverflow.com/questions/866346/easiest-way-to-compare-two-excel-files-in-java http://stac ...
- Phyre LCUE with YEBIS cause issues about GS
when LCUE enabled in phyreEngine when Yebis integrated and render there are two mainloopdraws in one ...
- codeforces #240 div 2
A:语文题,估计大家都会, B题:假如答案是ans,求最大的ans,是w*a/b==(w-ans)*a/b; 明显的二分,可是我的二分写的没水准,还有是直接做: #include<string. ...
- Sql注入一种dump所有数据的方法
Select exp(~(select*from(select(concat(@:=0,(select count(*)from`information_schema`.columns where t ...