`
nicegege
  • 浏览: 589437 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ajax基础

    博客分类:
  • ajax
阅读更多

1.什么是ajax?

ajax是asynchronous javascript and xml的缩写。

核心是在javascript中调用一个叫XML HttpRequest的javascript类,这个类会与web服务器使用http协议交互,程序不通过浏览器发出请求,而是用这个特殊的javascript对象发出请求,再由这个javascript对象接受响应。

2.ajax的特点:不用刷新整个页面与服务器通讯的方法,浏览器中显示的页面始终是初始的页面,ajax只改变一部分页面。

3.XMLHttprRequest对象初始化

function createXmlHttpRequest(){

     var xmlhttp=null;

     try{

        //FireFox,Opera8.0+,Safari

        xmlhttp=new XMLHttpRequest();

     }catch(e){

       //IE7.0以下的浏览器以ActiveX组件的方式创建XMLHttprRequest对象

      var MSXML=['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0',

                          'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0',

                          'MSXML2.XMLHTTP','Microsoft.XMLHTTP'];

      for(var n=0;n<MSXML.length;n++){

           try{

                    xmlhttp=new ActiveXObject(MSXML[n]);

                    break;

 

          }catch(e){}  

 

      }

      return xmlhttp;

    }

 

}

 

4.XMLHttpRequest对象方法

方法                                                    描述               

abort()                                                停止当前请求

getAllResponseHeaders()                   把http请求的所有响应首部作为键值对返回

getResponseHeader("headerLable")  返回指定首部的字符串值

open("method","url")                           建立对服务器的调用,method参数可以是get,post.

                                                             url参数可以是相对的或绝对的,这个方法还包括第三个参数:

                                                              false表示同步,ture表示异步

send(content)                                       向服务器发送请求

setRequestHeader("lable","value")       把指定首部所提供的值,在设置首部之前必须调用open()

 

5.XMLHttpRequest对象属性

属性                                                    描述

onreadystatechange                           状态改变的事件触发器

readyState                                           对象状态(integer):

                                                             0=未初始化

                                                             1=读取中

                                                             2=以读取                                                       

                                                             3=交互中

                                                             4=完成

responseText                                        服务器返回数据的文本版本

responseXML                                         服务器返回数据dom的XML文档对象

status                                                    服务器返回的状态码 例如:

                                                                404 没找到页面(not found),

                                                                403 禁止访问(forbidden)

                                                                     500 内部服务器出错(internal service error)

                                                                     200 一切正常(ok)

                                           304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )

statusText                                             服务器返回的状态文本信息

 

6.利用XMLHttpRequest实例与服务器进行通讯包含以下3个关键部分:

(1).onreadystatechange事件处理函数:这个函数是由服务器触发,而不是用户,在ajax执行过程中,服务器会通知客户端当前的状态,这个就是readyState,改变readyState属性是服务器对客户端连接操作的一种方式。每次readyState属性的改变都会触发onreadystatechange事件

(2).open方法

允许程序员用一个Ajax调用向服务器发送请求。

method:请求类型,类似 GET”或”POST”的字符串。若只想从服务器检索一个文件,而不需要发送任何数据,使用GET(可以在GET请求里通过附加在URL上的查询字符串来发送数据,不过数据大小限制为2000个字符)。若需要向服务器发送数据,用POST

在某些情况下,有些浏览器会把多个XMLHttpRequest请求的结果缓存在同一个URL。如果对每个请求的响应不同,这就会带来不好的结果。把当前时间戳追加到URL的最后,就能确保URL的惟一性,从而避免浏览器缓存结果。

例如:var url = "GetAndPostExample?timeStamp=" + new Date().getTime(); 

url:路径字符串,指向你所请求的服务器上的那个文件。可以是绝对路径或相对路径。

asynch:表示请求是否要异步传输,默认值为true(异步)。指定true,在读取后面的脚本之前,不需要等待服务器的相应。指定false,当脚本处理过程经过这点时,会停下来,一直等到Ajax请求执行完毕再继续执行。

(3).send方法

 open 方法定义了 Ajax 请求的一些细节。send 方法可为已经待命的请求发送指令

 data:将要传递给服务器的字符串。

 若选用的是 GET 请求,则不会发送任何数据, send 方法传递 null 即可:request.send(null);

 当向send()方法提供参数时,要确保open()中指定的方法是POST,如果没有数据作为请求体的一部分发送,

 则使用null. 

7.接受服务器相应信息

根据XMLHttpRequest的属性status的值判断服务器时候响应成功。

responseText

XMLHttpRequest responseText 属性包含了从服务器发送的数据。它是一个HTML,XML或普通文本,这取决于服务器发送的内容。

readyState 属性值变成 4 , responseText 属性才可用,表明 Ajax 请求已经结束。

responseXML

如果服务器返回的是 XML 那么数据将储存在 responseXML 属性中。

只用服务器发送了带有正确首部信息的数据时, responseXML 属性才是可用的。 MIME 类型必须为 text/xml

 

 

分享到:
评论

相关推荐

    ajax 基础

    以下是对Ajax基础知识的详细阐述: 1. **工作原理** - Ajax 的核心是 XMLHttpRequest 对象,它允许JavaScript在后台与服务器通信,而不会打断用户的交互。 - 一个典型的Ajax流程包括创建XMLHttpRequest对象、打开...

    精通Ajax 基础概念.核心技术与典型案例

    ## **一、Ajax基础概念** 1. **异步通信**:Ajax的核心是JavaScript对象XMLHttpRequest,它允许在后台与服务器进行通信,不阻塞用户对页面的操作。 2. **局部刷新**:Ajax可以只更新网页的部分区域,而不是整个页面...

    csdn 图书 Ajax基础教程.chm

    《Ajax基础教程.chm》 Ajax技术可以提供高度交互的Web应用,给予用户更丰富的页面浏览体验。本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的...

    AJAX基础教程.pdf

    ### AJAX基础教程知识点总结 #### 一、AJAX概述 - **定义**:Asynchronous JavaScript and XML(异步JavaScript和XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 - **目的**:提高Web应用的...

    ajax 基础教程源代码

    ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础...

    Ajax基础入门简介

    **Ajax基础入门简介** Ajax(Asynchronous JavaScript and XML)是一种用于创建快速、动态网页的技术,它使得网页可以在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。这一技术的出现极大地提升...

    Ajax 基础教程中文版.pdf

    **Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。...通过阅读"Ajax基础教程中文版",你可以深入了解Ajax的工作原理,学会如何在实践中运用它。

    AJAX基础教程

    **AJAX基础教程** 在Web开发领域,AJAX(Asynchronous JavaScript and XML)是一种不可或缺的技术,它使得网页可以在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。本教程将带您深入理解AJAX的基本...

    ajax 基础教程

    ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax ...

    Ajax基础教程(扫描版)

    原书名:Foundations of Ajax 原出版社: Apress 作者: (美)Ryan Asleson,Nathaniel T.Schutta 译者: 金灵 等 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:7115144818 上架时间:2006-2-14 ...

    Ajax基础教程(亚马逊计算机榜首图书,国内第1本Ajax图书) [第一部分 共两部分]

    本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的Ajax开发工具、使用JsUnit测试JavaScript、分析JavaScript调试工具和技术,以及Ajax开发模式和...

    ajax基础教程(pdf)(三)

    ajax基础教程(pdf)完整版本,希望对大家有所帮助

    14ajax课程_AJAX基础_

    **AJAX基础详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)是一种核心技术,它使得网页能够实现异步数据交换,无需刷新整个页面即可更新部分内容。本教程将深入探讨AJAX的基础知识,帮助你理解其...

    Ajax基础教程

    **Ajax基础教程** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。这种技术在现代Web开发中被广泛应用,极大地提升了用户体验,因为它允许页面在后台与服务器...

    Ajax基础教程中文版及源代码 part1

    堪称经典由于比较大,压缩成5个压缩卷,大家可以搜索下载,然后解压第一个卷,其它的就会自动解压 文件名分别是 Ajax基础教程中文版及源代码 part1 Ajax基础教程中文版及源代码 part2 Ajax基础教程中文...

    Ajax基础实例讲解

    在Ajax的基础实例中,通常包括以下几个关键步骤: 1. **创建XMLHttpRequest对象**:这是Ajax的核心,它是浏览器提供的一个内置对象,用于在后台与服务器通信。在JavaScript中,我们可以通过`new XMLHttpRequest()`...

    AJAX基础教程-5 Ajax Validate

    **标题:“AJAX基础教程-5 Ajax Validate”** 在学习Web开发时,AJAX(Asynchronous JavaScript and XML)技术是一个重要的组成部分,它允许我们在不刷新整个页面的情况下与服务器进行交互,提升用户体验。本教程...

    ajax基础教程和ajax从入门到精通

    **Ajax基础教程** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,提升了用户体验,使得用户在...

    ajax基础教程003

    尽管提供的部分内容并未包含实际的教程信息,但从标题“ajax基础教程003”及描述“ajax基础教程003”来看,这里将围绕Ajax的基础知识进行展开。 ### Ajax基础知识 #### 1. 什么是Ajax? Ajax(Asynchronous ...

Global site tag (gtag.js) - Google Analytics