Ajax使用的五步法

Ajax使用的五步法

<script type="text/javascript">

          //用于保存XMLHttpRequest对象的变量,由于整个过程中必须使用同一个XMLHttpRequest对象,所以要定义成全局的

          var xmlhttp;

          function submit()

          {

              //第一步:创建XMLHttpRequest对象

              if(window.XMLHttpRequest){

                  //对于IE7,IE8,firefox,Mozilla,Safari浏览器都能满足这个条件

                  xmlhttp=new XMLHttpRequest();

           //这段代码是为了解决某些版本的mozilla浏览器在XMLHttpRequest对象接收服务器返回的xml数据会出问题的一个bug而添

                 //加的,目前来说属于一个小众事件,所以只需要知道这是个修复小众bug的代码段

                  if(xmlhttp.overrideMimeType){

                      xmlhttp.overrideMimeType("text/xml");

                  }

              }else if(window.ActiveXObject){

                  //上面的浏览器也能满足这个条件,但是上面的自带了XMLHttpRequest对象,所以没有必要再利用这个来创建。

                  //IE6和IE5的判断条件

  //由于不同浏览器所支持的Activex版本不同,为了对不同版本的浏览器都能定义出XMLHttpRequest对象,创建的时候遍历

所有版本的Activex控件版本,总有一个当前浏览器支持

                  var activexName=[‘MSXML2.XMLHTTP.6.0‘,‘MSXML2.XMLHTTP.5.0‘,

                ‘MSXML2.XMLHTTP.4.0‘,‘MSXML2.XMLHTTP.3.0‘,‘MSXML2.XMLHTTP‘,‘Microsoft.XMLHTTP‘];

                  for(var i=0;i<activexName.length;i++){

                      try{

                          xmlhttp=new ActiveXObject();

                          break;

                      }

                      catch(e){  

                      }

                  }          

              }

              //alert(xmlhttp);

              if(xmlhttp==undefined||xmlhttp==null){

                  alert("您的浏览器太老,请更换版本。");

                  return;

              }

              

              //第二部:注册回调方法,当服务器处理结束返回数据以后利用回调方法实现局部的页面刷新数据

     //这个回调方法实际上在每次XMLHttpRequest对象的readyState属性的值发生变化的时候都会被调用,但是我们实际上只关心

              //readyState==4(与服务器交互结束)这一种情况。

              xmlhttp.onreadystatechange=callback;

              //获得文本框输入内容

              var userName=document.getElementById("UserName").value;

              /*这个是使用GET方式的设置方式

----------------------------------------------------------------------------------------------------------------------

              //第三步:设置和服务器交互的相应参数

              //制定servlet页面是AJAX,由于使用的是GET方法,所以参数要自己拼出来,ture表示是“异步”

              xmlhttp.open("GET","AJAX?name="+userName,true);

              

              //第四步:设置向服务器发送的数据,启动和服务器端交互

              xmlhttp.send(null);

              //由于我们使用的是“GET”,所有数据斗拼在url中,这里的参数是null,如果使用“Post”就必须有参数了

----------------------------------------------------------------------------------------------------------------------

              */

             //使用post方式

             //第三步:设置和服务器交互的相应参数

             xmlhttp.open("POST","AJAX",true);

             //使用POST方式需要多加的代码,[url=http://www.woyinwose2.com.cn]我淫我色[/url]手动添加一个Http请求的头信息。这段代码的工作本来是由浏览器帮助完成的

             xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

             //第四步:设置向服务器发送的数据,启动和服务器端交互

              xmlhttp.send("name="+ userName);

          }

          function callback(){

              //alert(‘------------‘);

              //第五步:判断和服务器交互是否完成,还要判断服务器端是否正确返回数据

              if(xmlhttp.readyState==4){                

                  //表示和服务器的交互已经完成

                  if(xmlhttp.status==200){

                      //服务器端响应代码是200,正确返回了数据

                      //纯文本数据的接受方法

                      var message = xmlhttp.responseText;

                      //xml对应的DOM对象接受方法,

                      //[url=http://www.yuputuan.org]玉蒲团[/url]接受这个需要服务器端设置content-type为text/xml

                      //var docXml = xmlhttp.responseXML;

                      //把从服务器端返回的数据动态填充到div标签中

                      //记忆向div中填充文本的方法

                      var div = document.getElementById("message");

                      div.innerHTML = message;

                  }

              }

          }

        </script>

时间: 2024-11-02 10:24:45

Ajax使用的五步法的相关文章

AJAX核心--XMLHttpRequest五步法

引言: AJAX=异步Javascript + XML,AJAX是一种用于创建快速动态网页的技术. 开门见山: 解读:AJAX使用XHTML和CSS为网页表示,DOM动态显示和交互,XML进行数据交换和处理,XMLHttpRequest进行数据检索,Javascript将以上技术融合. AJAX与传统的Web开发有什么区别? 用一句话总结:在页面跳转时,传统是整个页面刷新的:AJAX是一部分数据改变. 思维方式的转变:传统web应用时页面交互为主导.同步响应.非标准方式布局和开发.主要代码在服务

ETL构建数据仓库五步法

ETL构建企业级数据仓库五步法 在数据仓库构建中,ETL贯穿于项目始终,它是整个数据仓库的生命线,包括了从数据清洗,整合,到转换,加载等的各个过程,如果说数据仓库是一座大 厦,那 么ETL就是大厦的根基,ETL抽取整合数据的好坏直接影响到最终的结果展现.所以ETL在整个数据仓库项目中起着十分关键的作用,必须摆到十分重要的位 置.一.什么是ETLETL是数据抽取(Extract).转换(Transform).加载(Load )的简写,它是将OLTP系统中的数据经过抽取,并将不同数据源的数据进行转换

ajax readyState的五种状态详解

在<Pragmatic Ajax A Web 2.0 Primer >中对readyStae状态的介绍,摘译如下: 0: (Uninitialized) the send( ) method has not yet been invoked. 1: (Loading) the send( ) method has been invoked, request in progress. 2: (Loaded) the send( ) method has completed, entire res

框架基础:ajax设计方案(五)--- 集成promise规范,更优雅的书写代码

距离上一篇博客书写,又过去了大概几个月了,这段时间暂时离开了这个行业,让大脑休息一下.一个人旅行,一个人休息,正好也去完成一个目标 --- 拥有自己的驾照.当然,也把自己晒的黑漆马虎的.不过这一段时间虽然在技术上没有学太多东西,但是在心态上给了自己一个沉淀的机会,感觉自己变得更加沉稳和成熟,感觉这就是自己需要找到的自己,回归自我.好了,废话不多说了,虽然技术上没有学一些新的东西,但是欠的东西还是要补回来的.正如这篇博客,前端Promise规范的实现与ajax技术的集成,当时github上一个用户

构建企业级数据仓库五步法

(一).确定主题 即确定数据分析或前端展现的主题.例如:我们希望分析某年某月某一地区的啤酒销售情况,这就是一个主题.主题要体现出某一方面的各分析角度(维度)和统计数值型数据(量度)之间的关系,确定主题时要综合考虑. 我们可以形象的将一个主题想象为一颗星星:统计数值型数据(量度)存在于星星中间的事实表:分析角度(维度)是星星的各个角:我们将通过维度的组合,来考察量度.那么,"某年某月某一地区的啤酒销售情况"这样一个主题,就要求我们通过时间和地区两个维度的组合,来考察销售情况这个量度.从而

Ajax基础(五)--封装库

jQuery ajax请求的基本语法: 一.封装为对象: ajax.txt代码: {"id":"102","username":"liyi","age":3} 实例代码: 1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title></ti

AJAX应用的五个步骤

1.建立xmlHttpRequest对象 if(window.XMLHttpRequest) {    xmlHttp = new XMLHttpRequest();    if(xmlHttp.overrideMimeType) {     xmlHttp.overrideMimeType("text/xml");    }   } else if(window.ActiveXobject) {    var activeName = ["MSXML2.XMLHTTP&qu

学习的五步法

学习过程的可以大致分为五步走:1.学习:开始你什么都不懂 什么都不知道 不了解,比如写文章 使用电脑 这些都不会 就是对一个东西的一点都不清楚 这时候你需要的是去找途径了解那是什么 这便是第一步 基本的认识.2.模仿: 学习整个过程是为了培养你理解这个东西是干什么的 怎么用 为了更加深刻的记忆 你开始没有一点的自己的思考 就需要大量的案例去模仿 去看看别人是什么做的 不过前提是基础要打牢固 模仿多了 就知道这个东西人家怎么用自己的思维做出来的 我学到了这个方法 即是一种学习.3.分析: 每个人的

不容错过的提升新用户留存率五步法

产品运营中,新老用户对产品的关注点不一,因此对如何提升两者的用户留存度所应采取的措施也应有所区别,但无论如何都离不开的是用户需求的满足. 根据百度百科的定义: 在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户,被认作是留存用户,这部分用户占当时新增用户的比例即是留存率,会按照每隔1单位时间(例日.周.月)来进行统计.顾名思义,留存指的就是"有多少用户留下来了".留存用户和留存率体现了应用的质量和保留用户的能力. 既然留存率有一定的时间周期概念,那么