易截截图软件、单文件、免安装、纯绿色、仅160KB

ajax常见问题总结


在看文章前,先指定一个通用的变量xhr,xhr代码ajax对象。
测试浏览器:ie为ie6,firefox为2,其他的未测试。统称ie6为ie,firefox2为ff。
基本的
1,最经典的就是ie下的缓存问题了。
如果使用的是get,那么在ie下出现缓存问题。导致代码只执行一次。解决办法就是加时间戳或者随机数,使url变为唯一,这样就不会出现ie下的缓存问题了,或者改为post提交。
xhr.open("get","xxxx.aspx?_dc="+new Date().getTime(),true);
2,ajax对象属性的大小写问题
在w3c浏览器,如ff中,对大小写是敏感。如
if(xhr.readystate==4)这种写法,在ie下是成立的,但是在ff下就行不通了,因为ie不区分大小写,ff是区分大小的。
标准写法为if(xhr.readyState==4),同理还有属性 responseText,responseXML。
3,ajax状态0问题
有 些时候在测试ajax代码的时候,加了 xhr.status==200的判断后,一直不执行xhr.status==200的代码,这个就需要注意了。xhr.status==200是要通过 服务器来浏览,并且服务器页面没有发生错误或者转向时才返回200状态的,此状态和你通过浏览器访问页面时服务器定义的状态一致。
直接拖进浏览器浏览结果或者双击运行html页面的,未发生错误时,此时的xhr.status是0,不是200。
所以可以多加一个xhr.status==0的判断。如下
if(xhr.status==200||xhr.status==0){ alert('ok');}
直接拖进浏览器浏览结果或者双击运行html页面时,又出现一个问题,如果请求的是xml文件,那想当然的是使用responseXML属性返回xmlDom了,但是在ie返回不了xmlDom属性,解决办法如何呢,看下面的responseXML问题。
4,responseXML问题。
要使用responseXML属性,请求的是xml文件或者设置了响应头为"text/xml"的动态页面了。要注意如果请求的是动态页面,一定不要忘记设置contenttype为"text/xml"!!!!!!!!切记~~~~~~
asp为        response.contenttype="text/html"
asp.net为    Response.ContentType="text/html";
php为        header("content-type:text/xml;");
在ie下有个问题,直接拖进浏览器浏览或者双击运行html预览效果时,请求的即使是xml文件,使用responseXML返回不了xmldom。
大家测试下就知道了,如下
showbo.xml
<?xml version="1.0" encoding="utf-8"?><showbo> <item>1</item> <item>2&


相关文档:

ASP.NET+Ajax+Javascript实现页面div定时刷新

一、概述
  考虑Html本身不带定时刷新页面的控件,且不考虑使用第三方控件;因此考虑使用Javascript中的setTimeout+xmlhttp来实现定时更新页面中部分内容,此实现在IE6.0及以上版本测试通过,其他浏览器暂时未测试过。
二、功能及特点
  1、Javascript通过Microsoft的MSXML对象,动态获取后台数据库数据;
&n ......

AJAX的js代码

 //用户名校验的方法
//这个方法将使用XMLHTTPRequest对象来进行AJAX的异步数据交互
var xmlhttp;
function verify() {
//0。使用dom的方式获取文本框中的值
//document.getElementById("userName")是dom中获取元素节点的一种方法,一个元素节点对应HTML页面中的一个标签,如果<input& ......

邮件服务系统专题19:超爽Ajax界面

       从众多客户期盼已久的Ajax界面在V4.0.0版本中揭开了面纱以来,拓波软件在后续的历次版本更新中都延用并不断完善Ajax界面这个功能。大家可以下载测试版感受一下,或者登陆Turbomail网络在线版体验:
        Web网址:http://mail.turbomail ......

精通 Grails: 使用 Ajax 实现多对多关系

在 Web 应用程序中,多对多(m:m)关系很难处理。在 精通 Grails 系列的这一期文章中,Scott Davis 将向您展示如何在 Grails 中成功实现 m:m 关系。了解如何通过 Grails 对象关系映射(Grails Object Relational Mapping,GORM)API 和后端数据库处理多对多关系。学习如何使用 Ajax(Asynchronous JavaScript + XML)流线化 ......

ajax创建对象

function createXMLHttpRequest(){     
if(window.ActiveXObject){     
        http = new ActiveXObject("Microsoft.XMLHTTP");     
        }else if(window.XMLHttpRequest){     
& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号