码迷,mamicode.com
首页 > Web开发 > 详细

Js异步编程与Ajax

时间:2015-12-07 00:23:11      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

     ajax, asynchronous javascript +xml,这项技术能够向服务器请求额外的数据而不用卸载页面。核心是 xmlhttprequest(xhr)对象,xhr为向服务器发送请求和解析服务器相应提供了接口,也就是说你点击了按钮,解析服务器返回的报文,不用刷新页面就能利用dom将新数据插到页面中。

     ie5是第一个引用xhr对象的浏览器,但是他是通过MSXML库中的一个ActiveX对象实现的,因此要使用他

//适用于ie7之前的版本

function createXHR()

{

   if(typeof arguments.callee.activeXString !="string")

   {

             var versions=[ "MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"],i,len;

             for(i=0,len=versions.length;i<len;i++)

     {

                     try

                          {

                            new ActiveXOjbect(versions[i]);

                            break;

         }

                       catch(ex)

                      {}

               }

    }

      return  new ActiveXObject(arguments.callee.activeXString);

}

ie7+ firefox opera chrome safari都支持原生的xhr对象,所以直接下面写:

var xhr=new XmlHttpRequest();综合:

function createXHR()

{

if(typeof XmlHttpRequest!="undefined")

{return  new XmlHttpRequest();}

else if( typeof ActiveXObject !="undefined")

{

   if(typeof arguments.callee.activeXString !="string")

   {

             var versions=[ "MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"],i,len;

             for(i=0,len=versions.length;i<len;i++)

     {

                     try

                          {

                            new ActiveXOjbect(versions[i]);

                            break;

         }

                       catch(ex)

                      {}

               }

    }

      return  new ActiveXObject(arguments.callee.activeXString);

  }

else

{ throw new Error("No xhr available");}

}

 

Js异步编程与Ajax

标签:

原文地址:http://www.cnblogs.com/renpeng/p/5024699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!