1、XMLHttpRequest对象的创建
由于 不是w3c标准,所以使用Javascript创建之的方法也不同!Internet explorer 把XMLHttpRequest实例化为 ActiveX控件,然而 其他的浏览器(FireFox,opera)把XMLHttpRequest实例化为本地的JavaScript一个对象
所以 只要确定是否 支持 ActiveX控件对象!!如果支持则创建ActiveX控件! 如果不支持,则创建 本地的Javascript对象
下面一个代码:
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject) //则使用的是Internet explorer 浏览器
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest)
xmlHttp=new XMLHttpRequest();
}
2 XMLHttpRequest 对象的方法
一:open(String method ,String URL,boolean )
method 是表示 提交数据的方法:get post put ......
通过XMLHttpRequest.responseXML;
将响应解析为XML
获得对象有下面的属性和方法
表3-1 用于处理XML文档的DOM元素属性
属性名
描述
childNodes
返回当前元素所有子元素的数组
firstChild
返回当前元素的第一个下级子元素
lastChild
返回当前元素的最后一个子元素
nextSibling
返回紧跟在当前元素后面的元素
nodeValue
指定表示元素值的读/写属性
parentNode
返回元素的父节点
previousSibling
返回紧邻当前元素之前的元素
表3-2 用于遍历XML文档的DOM元素方法
方法名
描述
getElementById(id) (document)
获取有指定惟一ID属性值文档中的元素
getElementsByTagName(name)
返回当前元素中有指定标记名的子元素的数组
hasChildNodes()
返回一个布尔值,指示元素是否有子元素
getAttribute(name)
返回元素的属性值,属性由name指定
下面看一个实例
面的例子可以看到,使用遵循W3C DOM的JavaScript来读取XML文档是何等简单。代码清单3-3显示了服务器向� ......
[list=1]
我们在做验证码的时候往往由于要反作弊,验证有时故意加入多的干扰因素,这时验证码显示不很清楚,用户经常输入错误。这样不但要重新刷新页面,导致用户没有看清楚验证码而重填而不是修改,而且如果没有用session保存下用户输入的其它数据的话(如姓名),用户刚刚输入的内容也不存在了,这样给用户造成不好的体验。
本例在原有验证方式基础之上增加一段js,通过xmlhttp来获取返回值,以此来验证是否有效,这样即使用户浏览器不支持js,也不会影响他的正常使用了。
为了防止作弊,当用户连接3次输入错误时则重载一下图片,这样也利于用户因为图片上的验证码辨认不清而使终无法输入正确。
本例还特别适合检验用户名是否有效,只要从后台做个sql查询,返回一个值或是xml即可。(这种例子太多 ,就在此不赘述了)。
本例的优点在于非常方便用户输入,而且减少对服务器端的请求,可以说既改善用户体验而且略会节省带宽成本,但相应地要在页面上增加一段JavaScript代码,在目前网速越来越快人们要求便捷舒适的今天,似乎我们更应注意提供给用户良好的使用感受。 代码如下,
1,img.jsp,输入主页面
<%@ page contentType="text/html; charset=GBK" language="jav ......
[list=1]
我们在做验证码的时候往往由于要反作弊,验证有时故意加入多的干扰因素,这时验证码显示不很清楚,用户经常输入错误。这样不但要重新刷新页面,导致用户没有看清楚验证码而重填而不是修改,而且如果没有用session保存下用户输入的其它数据的话(如姓名),用户刚刚输入的内容也不存在了,这样给用户造成不好的体验。
本例在原有验证方式基础之上增加一段js,通过xmlhttp来获取返回值,以此来验证是否有效,这样即使用户浏览器不支持js,也不会影响他的正常使用了。
为了防止作弊,当用户连接3次输入错误时则重载一下图片,这样也利于用户因为图片上的验证码辨认不清而使终无法输入正确。
本例还特别适合检验用户名是否有效,只要从后台做个sql查询,返回一个值或是xml即可。(这种例子太多 ,就在此不赘述了)。
本例的优点在于非常方便用户输入,而且减少对服务器端的请求,可以说既改善用户体验而且略会节省带宽成本,但相应地要在页面上增加一段JavaScript代码,在目前网速越来越快人们要求便捷舒适的今天,似乎我们更应注意提供给用户良好的使用感受。 代码如下,
1,img.jsp,输入主页面
<%@ page contentType="text/html; charset=GBK" language="jav ......
index.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AJAX 技术简单应用</title>
<script type="text/javascript">
var xmlhttp ;
//1.创建xmlHttpRequest 对象,这是最重要的一步
function creatXMLHttpRequest(){
if(window.XMLHttpRequest){
//IE7 IE8 FireFox Mozillar Safari ,Opera
&nb ......
一、ajax的入门
1、XMLHttpRequest对象的使用(使用XMLHttpRequest解析xml文件)
onreadystatechange
指定当readyState属性改变时的事件处理句柄
open()
创建一个新的http请求,并指定此请求的方法、URL等信息
send()
发送请求到http服务器并接收回应
readyState
返回XMLHTTP请求的当前状态
status
返回当前请求的http状态码
responseText
将响应信息作为字符串返回
responseXML
将响应信息格式化为Xml Document对象并返回
out回应客户
1、“添加新项” 新建一个XML文件来存放要被调用的数据。
XMLFile.xml
<?xml version="1.0" encoding="utf-8" ?>
<response>
<res>
对不起,登录失败!
</res>
</response>
2、“添加新项” 新建一个JSP页,添加代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ......
Download board.zip - 39.6 KB - Old Version
Download board_2008.zip - 55.03 KB - Latest VS 2008 Version
Introduction
This is an AJAX based WhiteBoard application. Typically unlike their desktop based counterparts, web applications need to be designed to use optimal server resources. This is one of the reasons for AJAX being popular. Here I demonstrate a powerful use of AJAX to make communication possible between two or more clients.
So, What can this do?
As I said, this is a WhiteBoard Application. Users are provided with certain drawing tools, color selections, etc. The basic idea is to share the user drawings among all the clients. All the users viewing the main page can participate in the drawing and share it with all other users. Clearing local canvas, server data, etc is also possible.
Background
A couple of years ago I was assigned the task of researching the capabilities of AJAX. Being a tech freak I was hell bent on convincing the client t ......