`
还有也许
  • 浏览: 169206 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

快速理解Ajax(三)

    博客分类:
  • ajax
阅读更多

今天学习了Ajax的最基本的流程,就是没有使用任何的JavaScript类库,现在我们把上一次的内容用另一种方式实现--用XMLHTTPRequest对象进行AJAX的异步数据交互。虽然很笨但很实用。其他都不变,只变化verify.js。我们不妨再创建一个js得了。

//用户名校验的方法
//这个方法使用XMLHTTPRequest对象进行AJAX的异步数据交互
var xmlhttp;
function verify(){
    //1.使用dom的方式获取文本框中的值
    //document.getElementBuId("userName")是dom中获取元素节点的一种方法,一个元素节点对应HTML页面中的一个标签,如果<input>
    //.value可以获取一个元素节点的value属性值
    var userName = document.getElementById("userName").value;


    //2.创建XMLHttpRequest对象
    //这是XMLHttpRequest兑现使用中最为复杂的一步
    //需要这对IE和其他类型浏览器建立这个对象的不方式写不同的代码
    if(window.XMLHttpRequest){
       //针对FireFox,Mozillar,opera,safari,IE7,IE8
         xmlhttp = new XMLHttpRequest();
        //针对某些特定版本的mozillar浏览器的bug修正
         if(xmlhttp.overrideMimeType){
                 xmlhttp.overrideMimeType("text/xml")
         }
    }else if(window.ActiveXObject){
         //针对IE5,IE5.5,IE6(IE7,IE8)
         //两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个js数组中
        //排在前面的版本较新
        var activexName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
       for(var i=0;i<activexName.length;i++){
           try{
             //取出一个控件名进行创建,如果创建成功就终止循环
             //如果创建失败,抛出异常,然后继续循环,继续尝试创建
             xmlhttp = new ActiveXObject(activexName[i]);
               break;
           }   catch(e){
           }
       }
  }
   // 确认XMLHttpRequest对象创建成功
//        if(!xmlhttp){
//             alert("XMLHttpRequest对象创建失败!");
//             return;
//        }else{
//           //alert(xmlhttp);
//            alert(xmlhttp.readyState);
//        } 

    //2 注册回调函数
    //注册回调函数时只需要函数名不要加括号
    //我们需要注册的是函数名称,如果加上括号,就把函数的返回值给注册上了,这是错误的
         xmlhttp.onreadystatechange = callback;

    //3设置连接信息
    //第一个参数表示http的请求方式。支持所有http的请求方式。主要使用get和post
    //第二个参数表示请求的url地址,get方式的参数也在url中
    //第三个参数表示采用异步还是同步方式交互,true表示异步
    //GET方式请求的代码
    //xmlhttp.open("GET","AJAXServer?name="+userName,true);
    
    //POST方式请求的代码
    xmlhttp.open("POST","AJAXServer",true);
    //POST方式需要自己设置http的请求头
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    //POST方式发送数据
    xmlhttp.send("name="+userName);
    
    //4 发送数据,开始和服务器端进行交互
    //同步方式下,send这句话会在服务器设置回来后才执行完
    //异步方式,send这句话执行晚会立即完成
    
    //GET方式
    //xmlhttp.send(null);
}

//回调函数
function callback(){
   // alert(xmlhttp.readyState);
   //5接收响应数据
   //判断对象的状态是交互完成
    if(xmlhttp.readyState==4){
    //判断http的交互是否成功、
      if(xmlhttp.status==200){
          //获取服务器端返回的数据
          //获取服务器端输出的纯文本数据
          var responseText = xmlhttp.responseText;
          //将数据显示在页面上
          //通过dom方式找到div标签所对应的元素节点
          var divNode = document.getElementById("result");
          //设置元素节点中的html内容
          divNode.innerHTML=responseText;
      }else
      {
          alert("出错了");
      }
    }

}

 代码注释比较详细,就不啰嗦了。

分享到:
评论
1 楼 还有也许 2009-11-20  

相关推荐

    快速理解Ajax(二)

    在本篇“快速理解Ajax(二)”中,我们将深入探讨Ajax的核心概念、工作原理及其在实际开发中的应用。 首先,我们要明确Ajax的核心组成部分: 1. **XMLHttpRequest对象**:它是Ajax的核心,负责在后台与服务器通信...

    ajax 三级联动

    本篇文章将深入探讨Ajax的三级联动实现,尤其适合初学者快速理解Ajax的异步传输机制。 ### 一、什么是Ajax三级联动? Ajax三级联动是指在网页中,通常在下拉框中,当用户选择一级选项时,根据一级选项的数据动态...

    Ajax快速入门

    这个教程将通过以上10个经典例子,结合实际的数据库文件,让你亲手实践,深入理解Ajax的用法和功能,从而快速上手Ajax开发。每个例子都将涵盖Ajax请求的创建、数据处理和页面更新等多个环节,确保你在实践中掌握Ajax...

    jQuery+ajax实现三级级联

    它的API设计得易于理解和使用,使得开发者可以快速地进行网页动态化开发。在本实例中,jQuery将用于处理用户的交互事件,如点击或改变选择,同时更新和加载相应的级联内容。 ajax(Asynchronous JavaScript and XML...

    三大框架整合ajax

    在IT行业中,Spring、Struts...这个实例可能包含了完整的代码结构、配置文件、数据库设计以及详细的使用说明,帮助学习者快速掌握三大框架与Ajax的整合技巧。通过实际操作,能更好地理解和运用这些技术,提升开发能力。

    ajax例子 帮助初学者快速入门

    这个例子是一个简单的Ajax实现,适合初学者理解Ajax的工作原理。下面我们将详细解析这个例子中的关键知识点。 首先,我们看到一个名为`First.html`的HTML文件,其中包含了一个JavaScript函数`createXmlHttp()`。这...

    ajax三层结构网上商城源码

    【标题】:“Ajax三层结构网上商城源码”指的是一个基于Ajax技术实现的电子商务网站源代码,采用经典的三层架构设计,包括表示层、业务逻辑层和数据访问层。 【描述】:“代码完整,功能全,适合参考”说明这个源码...

    Ajax中文手册(快速上手)

    Ajax中文手册是为开发者提供的一份详细指南,旨在帮助初学者快速掌握Ajax的核心概念、使用方法以及相关API。这份手册以.chm(Microsoft编写的帮助文档格式)呈现,方便用户离线查阅。 Ajax的核心特性在于异步性,它...

    ajax使用jquery json实现的省市县三级联动经验总结

    本文将深入解析如何利用Ajax、jQuery以及JSON来实现这一功能,通过具体代码示例和实践心得,帮助读者理解并掌握这一技术要点。 ### Ajax与jQuery在省市县三级联动中的应用 #### 一、Ajax简介 Ajax(Asynchronous ...

    ajax培训视频完整版,用于就业培训的视频,由于文件过大,用百度网盘保存,让你快速学习ajax

    **Ajax技术详解** ...通过这个视频教程,学习者不仅可以理解Ajax的工作原理,还能掌握实际应用技巧,为就业做好准备。同时,由于文件过大,采用百度网盘分享,便于学员下载和观看,解决了大文件传输的问题。

    快速学习AJAX 的PDF

    ### 快速学习AJAX的关键知识点 #### 一、AJAX概述 - **定义**:AJAX(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以实现网页的部分更新,...

    ajax新手快速入门

    **三、Ajax应用场景** 1. **表单验证**:在提交前通过Ajax检查用户输入的有效性,实时给出反馈,提高用户体验。 2. **分页加载**:在滚动页面时,通过Ajax动态加载更多内容,避免一次性加载大量数据导致页面卡顿。...

    快速上手Ajax中文实例

    在快速上手Ajax的过程中,有几个关键知识点是必须掌握的: 1. **JavaScript基础**:Ajax的核心是JavaScript,因此熟悉JavaScript语法和DOM操作是必不可少的。你需要了解如何创建和执行JavaScript函数,以及如何通过...

    AJax带数据库的三级联动

    在IT行业中,三级联动是一种常见的前端交互功能,尤其在地理信息选择、筛选或者表单填写时经常被用到。这个“AJax带数据库的三级...对于开发者来说,理解和掌握这些技术对于开发交互性强、响应快速的Web应用至关重要。

    四天学会ajax 快速上手

    在“四天学会Ajax 快速上手”的课程中,你将了解到以下关键知识点: 1. **XMLHttpRequest对象**:这是Ajax的基础,用于在后台与服务器进行通信。通过这个对象,你可以发送HTTP请求并接收响应,而不会中断用户的界面...

    Jquery各种插件和JQuery Ajax三级联动地区下拉框 & 非Ajax实现三级联动

    综上所述,实现“jQuery各种插件和JQuery Ajax三级联动地区下拉框”涉及到jQuery库、插件开发、AJAX交互、DOM操作和性能优化等多个方面。这个功能不仅实用,而且对于学习和理解JavaScript和jQuery的深入使用非常有...

    《深入理解Ajax基于JavaScript的RIA开发》配书源码

    《深入理解Ajax基于JavaScript的RIA开发》是一本专注于Web开发技术的专业书籍,其配书源码包含了一系列实际的示例和实践项目,旨在帮助读者深入掌握Ajax和基于JavaScript的富互联网应用(Rich Internet Applications...

    ajaxDEMO 适合ajax初学者

    本AjaxDEMO适合初学者学习,旨在提供一个基础的实践平台,帮助理解Ajax的工作原理及其在实际开发中的应用。** ### 1. Ajax基础知识 Ajax的核心是JavaScript对象XMLHttpRequest,它允许在后台与服务器端通信。当...

    理解Ajax:用Javascript构建Web程序(CHM电子书)

    本资料《理解Ajax:用Javascript构建Web程序》将深入探讨这一技术。 **JavaScript**是实现Ajax的核心,是一种广泛用于客户端的脚本语言,主要在浏览器环境中运行。JavaScript允许开发者动态地修改HTML文档、处理...

    ajax快速通道

    软件开发这个领域,永远都在飞速发展,大家都必须不断的学习新的知识、 技能、框架、IDE、甚至新的语言。传说中的骨灰级高手们,就像传说中的大侠, ...希望这本书,能够对大家快速学习AJAX,有所帮助。

Global site tag (gtag.js) - Google Analytics