Ajax介绍 XMLHttpRequest
Ajax介绍
AJAX - 浏览器支持
AJAX 的要点是 XMLHttpRequest 对象。不同的浏览器创建 XMLHttpRequest 对象的方法是有差异的。IE 浏览器使用 ActiveXObject,而其他的浏览器使用名为 XMLHttpRequest 的 JavaScript 内建对象。如需针对不同的浏览器来创建此对象,我们要使用一条 "try and catch" 语句。
<script type="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
}
catch (e) {
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");// Internet Explorer 6.0+
}
catch (e) {
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");// Internet Explorer 5.5
}
catch (e) {
alert("您的浏览器不支持AJAX!");
return false;}
}}
}
</script>
声明一个保存 XMLHttpRequest 对象的 xmlHttp 变量。然后使用 XMLHttp=new XMLHttpRequest() 来创建此对象。这条语句针对 Firefox、Opera 以及 Safari 浏览器。假如失败,则尝试Internet Explorer 6.0+ 的 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"),假如也不成功,则尝试Internet Explorer 5.5+ 的 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")。假如这三种方法都不起作用,那么这个用户所使用的浏览器已经太过时了,他或她会看到一个声明此浏览器不支持 AJAX 的提示。
AJAX - XMLHttpRequest对象
onreadystatechange 属性
onreadystatechange 属性存有处理服务器响应的函数。下面的代码定义一个空的函数,可同时对 onreadystatechange 属性进行设置:
xmlHttp.onreadystatechange=function()
{
// 我们需要在这里写一些代码
}
readyState 属性
readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。(详情参见 AJAX – readyState详情)
状态
描述
相关文档:
Ajax的IE缓存问题,会造成用open时用get方法不能重复提交,导致获取不到实时的信息。解决的办法有以下几种:
1.客户端在url后添加随机数.
new Date().getTime()或者Math.Random()
或者送请求前加上
XMLHttpRequest.setRequestHeader("If-Modified-Since","0")
2.或者用post方法提交  ......
红色字体为主要代码
jsp页面中
<script language="javascript">
function updateDB(operate){
var objDom=new ActiveXObject("msxml.DomDocument");
var objRoot=objDom.createElement("All");
objDom.appendChild(objRoot);
var k=document.ge ......
现在如果你问别人“最近两年在Web开发领域最火的技术是什么”,Ajax这个词应该能占据一席之地。确实,自从05年底被提出,Ajax技术就以难以想象的速度迅速红遍大江南北,受到无数Web开发人员的青睐和追捧。而各种平台下的Ajax框架更是如雨后春笋般向外冒,以至于连微软这样软件业的巨头也迫不及待推出自己的框架&m ......
var http_request;
function find(txt) {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
http_request.onreadystatechange = function() {
&n ......
Web 2.0 一瞥
在深入研究代码之前首先看看最近的观点 —— 一定要十分清楚 Web 2.0 这个概念。听到 Web 2.0 这个词的时候,应该首先问一问 “Web 1.0 是什么?” 虽然很少听人提到 Web 1.0,实际上它指的就是具有完全不同的请求和响应模型的传统 Web。比如,到 Amazon.com 网站上点击一个按钮或者输入 ......