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>

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

  1. AJAX核心--XMLHttpRequest五步法

    引言: AJAX=异步Javascript + XML,AJAX是一种用于创建高速动态网页的技术. 开门见山: 解读:AJAX使用XHTML和CSS为网页表示.DOM动态显示和交互,XML进行数据交换 ...

  2. ETL构建数据仓库五步法

    原文:http://huangy82.blog.163.com/blog/static/49069827200923034638409/ ETL构建企业级数据仓库五步法 在数据仓库构建中,ETL贯穿于 ...

  3. 鲲鹏性能优化十板斧——鲲鹏处理器NUMA简介与性能调优五步法

    TaiShan特战队六月底成立,至今百日有余,恰逢1024程序员节,遂整理此文,献礼致敬!希望能为广大在鲲鹏处理器上开发软件.性能调优的程序员们,提供一点帮助.从今天开始,将陆续推出性能调优专题文章. ...

  4. 鲲鹏性能优化十板斧之前言 | 鲲鹏处理器NUMA简介与性能调优五步法

    鲲鹏处理器NUMA简介 随着现代社会信息化.智能化的飞速发展,越来越多的设备接入互联网.物联网.车联网,从而催生了庞大的计算需求.但是功耗墙问题以功耗和冷却两大限制极大的影响了单核算力的发展.为了满足 ...

  5. ajax readyState的五种状态详解

    通过ajax的readyState的值,我们可以知道当前的这个http请求处于什么状态.对于web的调试是比较重要的. readyState 状态说明: (0)未初始化 此阶段确认XMLHttpReq ...

  6. 原生ajax请求的五个步骤

    //第一步,创建XMLHttpRequest对象 var xmlHttp = new XMLHttpRequest(); function CommentAll() { //第二步,注册回调函数 xm ...

  7. AJAX应用的五个步骤

    1.建立xmlHttpRequest对象 if(window.XMLHttpRequest) {    xmlHttp = new XMLHttpRequest();    if(xmlHttp.ov ...

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

    距离上一篇博客书写,又过去了大概几个月了,这段时间暂时离开了这个行业,让大脑休息一下.一个人旅行,一个人休息,正好也去完成一个目标 --- 拥有自己的驾照.当然,也把自己晒的黑漆马虎的.不过这一段时间 ...

  9. jquery基础学习之AJAX篇(五)

    理解不深,只知道这么用 jquery 中ajax的请求方法 $.ajax({ url:‘http://...’, //请求网址 type:'GET', //请求方法 success:function( ...

随机推荐

  1. DOM编程艺术章12:一个简单的Ajax例子

    大概入了JavaScript的门,现在要回过头恶补Ajax和json了,随手翻到dom编程艺术发现有一个适合回忆的例子,先抄录下来,引入对Ajax作用的大概印象,再去掰开了研究. <!DOCTY ...

  2. frist Django app — 四、 完善View

    上一篇已经完成了polls的基本功能,接下来完善剩下的vote功能和并使用generic views改进请求处理view.包含表单的简单运用和前后台参数传递. 目录 vote:完善投票功能 gener ...

  3. 读取tensorflow的checkpoint里保存的参数

    import tensorflow as tf from tensorflow.python import pywrap_tensorflow import os checkpoint_path = ...

  4. rest_famework 认证与权限组件

    定义个一个认证类 from rest_framework import exceptionsfrom rest_framework.authentication import BaseAuthenti ...

  5. 属性控件CMFCPropertyGridCtrl简单用法

    这是我的原创! 用一堆的编辑框下拉框做配置界面,很是繁琐,还要对齐排版……用这个属性控件 CMFCPropertyGridCtrl 就可以统一风格了. //初始化 CMFCPropertyGridCt ...

  6. samba实现CentOS和window上的数据同步

    前言 之前做了一个项目,需要写python脚本来修改组件的安装方式,脚本是在windows下面的pycharm下面进行编写,但是编译要在linux上面进行分模块的maven编译,虽然之前也写了pych ...

  7. 关于 early Z 与 z-prepass

    今天在考虑优化MOBA项目中的树木时(采用了ALPHATEST)时,与同事讨论中深入了解了这两个概念. 以前居然不知道有early z的存在,真是惭愧.... 上个链接: 深入剖析GPU Early ...

  8. 注意UTF-8-BOM 这个编码格式

    有时候文本文件处理出现异常,找不到其他原因的时候,注意查看下文件的编码: Notepad:编码菜单 如果发现是UTF-8-BOM,需要改成UTF-8

  9. S8-codelab02

    import news_cnn_model import numpy as np import os import pandas as pd import pickle import shutil i ...

  10. 从servlet规范说起

    servlet规范 1 servlet 3.1规范 1.1 What is servlet A servlet is a JavaTM technology-based Web component, ...