`
zu14
  • 浏览: 459148 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

使用AJAX时,并不总是使用的 XMLHTTP 的版本越高越好哎

阅读更多
 1    //创建 XMLHTTPREQUEST 的实例
 2    this.__createRequestEntity = function()
 3    {
 4        var req;
 5        var msxml_progid = ['MSXML2.XMLHTTP.8.0', 'MSXML2.XMLHTTP.7.0', 'MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP.2.6', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
 6        try
 7        {
 8            req = new XMLHttpRequest();
 9        }

10        catch (e)
11        {
12            for(var i = 0; i < msxml_progid.length; ++i)
13            {
14                try
15                {
16                    req = new ActiveXObject(msxml_progid[i]);
17                    break;
18                }

19                catch (e){}
20            }

21        }

22        return req;
23    }

24

上面是创建 XMLHTTPREQUEST 的一段 脚本, 逻辑是创建客户端IE的高版本的XMLHTTP,但是,在实际使用中发现,某些个别用户的页面显示,中文全是乱码『ENCODING相关的都是GB2312了』,为了这个调了N久无果。
最后,突然想起这些电脑使用另一个早期的ASP开发的 无刷新 联动程序很正常,于是忽然想到了XMLHTTP的版本问题,将上面的代码改为:
 1    //创建 XMLHTTPREQUEST 的实例
 2    this.__createRequestEntity = function()
 3    {
 4        var req;
 5        var msxml_progid = ['MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
 6        try
 7        {
 8            req = new XMLHttpRequest();
 9        }

10        catch (e)
11        {
12            for(var i = 0; i < msxml_progid.length; ++i)
13            {
14                try
15                {
16                    req = new ActiveXObject(msxml_progid[i]);
17                    break;
18                }

19                catch (e){}
20            }

21        }

22        return req;
23    }

24

测试结果,一切OK, 所有PC测试通过。

唉, 不明白 microsoft 怎么搞的, 还是我自己脑子有问题啊!
分享到:
评论

相关推荐

    xmlhttp各版本速度比较.rar

    xmlhttp各版本速度比较.rar xmlhttp各版本速度比较.rar xmlhttp各版本速度比较.rar xmlhttp各版本速度比较.rar xmlhttp各版本速度比较.rar xmlhttp各版本速度比较.rar

    易语言测试XMLHTTP版本

    XMLHTTP是微软提出的一种异步HTTP通信技术,它被广泛应用于网页应用程序,如AJAX(Asynchronous JavaScript and XML)技术中,实现在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。在易语言中,我们...

    手写ajax的xmlhttp

    XMLHttpRequest(简称XHR)是AJAX(异步JavaScript和XML)技术的核心,它允许Web应用程序在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。本篇文章将深入探讨如何手写一个简单的AJAX实现,以及...

    Ajax XMLHttp 手册 中文版

    1. 浏览器兼容性:老版本的浏览器可能不支持Ajax,需要使用库如jQuery来解决。 2. SEO问题:搜索引擎爬虫无法执行JavaScript,可能无法正确抓取Ajax加载的内容。 3. 安全问题:Ajax请求可能导致跨站脚本攻击(XSS)...

    Ajax和XMLHttp原理

    Ajax的核心是XMLHttpRequest对象,它在Internet Explorer 5中首次被引入,并逐渐成为现代Web开发的标准组件。这个对象允许JavaScript在后台与服务器进行通信,实现了页面的异步更新。 XMLHttpRequest对象具有多个...

    alexa_Xmlhttp_Ajax

    Alexa排名越高,通常表示该网站的流量越大,影响力更强。 **XMLHTTP** 是一个用于创建异步HTTP请求的技术,它是Ajax(Asynchronous JavaScript and XML)的核心组成部分。XMLHTTP允许网页在不刷新整个页面的情况下...

    AJAX核心-XMLHTTP对象

    在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。XMLHTTP对象,全称XMLHttpRequest,是AJAX技术的核心...

    ajax的xmlhttp的帮助手册

    **Ajax与XMLHttpRequest详解** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术的核心是XMLHttpRequest对象,它允许JavaScript在后台与服务器...

    xmlHttp对象 手动Ajax

    XMLHttpRequest(通常称为xmlHttp对象)是JavaScript中的一个核心组件,它是实现异步通信(Ajax,Asynchronous JavaScript and XML)的基础。Ajax技术允许我们在不刷新整个网页的情况下与服务器进行数据交换,极大地...

    xmlhttp.rar_XMLHTTP delphi_delphi xmlHt_delphi xmlhttp_xmlhttp

    7. **Delphi编程基础**:虽然这主要涉及XMLHTTP的使用,但基础的Delphi编程知识,如对象导向编程、事件驱动编程和异常处理也是必不可少的。 在压缩包中的"xmlhttp"文件可能是包含示例代码的Delphi源文件,打开它将...

    Alexa 查询系统 (Xmlhttp + Ajax)

    **Alexa 查询系统 (Xmlhttp + Ajax)** 在Web开发中,Alexa查询系统是一种能够实时获取并展示网站排名信息的应用。本系统采用ASP技术,结合XMLHTTP与Ajax(异步JavaScript和XML)来实现页面的无刷新更新,提供用户...

    在VC中使用XMLHTTP

    4. **对象创建**:创建XMLHTTP对象时使用了错误的版本标识符。 #### 七、优化建议 1. **确保初始化**:确保在使用XMLHTTP之前调用`CoInitialize(NULL)`来初始化COM库。 2. **异常处理**:改进异常处理逻辑,提供更...

    e语言-Ajax XmlHttp对象参考手册

    XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML...

    ajax之xmlhttp对象帮助文档

    ajax之xmlhttp对象帮助文档

    易语言测试XMLHTTP版本源码.zip

    在“易语言测试XMLHTTP版本源码.zip”这个压缩包中,包含的是一段使用易语言编写的、涉及到XMLHTTP技术的源代码。XMLHTTP是微软在ActiveX对象中引入的一个组件,它在Web开发中被广泛用于实现异步HTTP请求,常用于...

    易语言xmlhttp各版本速度比较

    3. XMLHTTP 6.0:在Windows 7及更高版本中,XMLHTTP 6.0成为了默认版本。这个版本进一步优化了性能,提供了更好的错误处理机制,以及对HTTP/1.1协议的全面支持。因此,在易语言环境中,如果运行在支持6.0的系统上,...

    VB 3GQQ登录器(XmlHttp版本)

    这种技术被称为异步JavaScript和XML(AJAX),尽管在VB中不涉及JavaScript,但XMLHTTP的使用原理类似,可以实现页面的动态加载和更新。 在【VB 3GQQ登录器 (XmlHttp版本)】中,开发者首先会使用XMLHTTP对象建立到3...

    XMLHTTP参考(HTML格式)

    XMLHTTP是 AJAX(异步JavaScript和XML)技术中的核心组件,它允许Web应用程序在不刷新整个页面的情况下与服务器进行通信,实现数据的动态更新。这个参考手册,以HTML格式呈现,详细介绍了XMLHTTP对象的使用方法,...

    xmlhttp

    2. 不支持浏览器缓存:默认情况下,XMLHttpRequest不使用浏览器的缓存策略,这可能导致不必要的服务器负载。 3. 历史记录问题:由于页面没有实际跳转,浏览器的历史记录可能不完整,对前进/后退按钮的处理需要额外...

Global site tag (gtag.js) - Google Analytics