• Ajax技术之深入浅出


    Ajax全称:(Asynchronous JavaScript + XML)

         基于web标准(standards-based presentation)XHTML+CSS的表示;

    主要包含了以下几种技术:
         使用 DOM(Document Object Model)进行动态显示及交互;

         使用 XML 和 XSLT 进行数据交换及相关操作;
         使用 XMLHttpRequest 进行异步数据查询、检索;
         使用 JavaScript 将所有的东西绑定在一起。

        类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。

     AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象,也不支持XSLT。

    基础应用:

      创建XMLHttpRequest 方法如下:


      XMLHttpRequest 类首先由Internet Explorer以ActiveX对象引入,被称为XMLHTTP。 后来Mozilla﹑Netscape﹑Safari 和其他浏览器也提供了XMLHttpRequest类,不过它们创建XMLHttpRequest类的方法不同。


      对于Internet Explorer浏览器:


      xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP.3.0"); //3.0或4.0, 5.0


      xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP");


      xmlhttp_request = new ActiveXObject("Microsoft.XMLHTTP");


      由于在不同Internet Explorer浏览器中XMLHTTP版本可能不一致,为了更好的兼容不同版本的Internet Explorer浏览器,因此我们需要根据不同版本的Internet Explorer浏览器来创建XMLHttpRequest类,上面代码就是根据不同的Internet Explorer浏览器创建XMLHttpRequest类的方法。


      对于Mozilla﹑Netscape﹑Safari等浏览器


      创建XMLHttpRequest 方法如下:xmlhttp_request = new XMLHttpRequest();


      如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作。 为了解决这个问题,如果服务器响应的header不是text/xml,可以调用其它方法修改该header。


      xmlhttp_request = new XMLHttpRequest();


      xmlhttp_request.overrideMimeType('text/xml');


      在实际应用中,为了兼容多种不同版本的浏览器,一般将创建XMLHttpRequest类的方法写成如下形式:


      try{


      if( window.ActiveXObject ){


      for( var i = 5; i; i-- ){


      try{


      if( i == 2 ){


      xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" ); }


      else{


      xmlhttp_request = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );


      xmlhttp_request.setRequestHeader("Content-Type","text/xml");


      xmlhttp_request.setRequestHeader("Charset","gb2312"); }


      break;}


      catch(e){


      xmlhttp_request = false; } } }


      else if( window.XMLHttpRequest )


      { xmlhttp_request = new XMLHttpRequest();


      if (xmlhttp_request.overrideMimeType)


      { xmlhttp_request.overrideMimeType('text/xml'); } } }


      catch(e){ xmlhttp_request = false; }


      发送请求了


      可以调用HTTP请求类的open()和send()方法,如下所示:


      xmlhttp_request.open('GET', URL, true);


      xmlhttp_request.send(null);


      open()的第一个参数是HTTP请求方式—GET,POST或任何服务器所支持的您想调用的方式。 按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求。


      第二个参数是请求页面的URL。


      第三个参数设置请求是否为异步模式。如果是TRUE,JavaScript函数将继续执行,而不等待服务器响应。这就是"AJAX"中的"A"。

    处理从服务器得到的数据:


      有两种方式可以得到这些数据:


      (1) 以文本字符串的方式返回服务器的响应


      (2) 以XMLDocument对象方式返回响应

     

  • 相关阅读:
    16进制字节和数字转换
    Vs2013 使用EF6 连接mysql数据库
    设计模式-单例模式(Singleton)
    WPF 10天修炼 第十天- WPF数据绑定
    WPF 10天修炼 第九天
    WPF 10天修炼 第八天
    WPF 10天修炼 第七天- WPF资源、样式、控件模板
    WPF 10天修炼 第六天- 系统属性和常用控件
    WPF 10天修炼 第五天- 内容控件
    WPF排版布局经验总结(干货)简短不疲倦
  • 原文地址:https://www.cnblogs.com/paper/p/1533066.html
Copyright © 2020-2023  润新知