AJAX(学习笔记一)

1:什么是AJAX?

AJAX是一组英文单词的简写,这组英文单词是 :Asynchronous JavaScript and XML ,翻译成中文的意思是: 异步的JavaScript 和 XML。什么意思呢?简单点讲就是:通过HTML页面中的JavaScript方法能够不刷新整个页面的情况下实现和服务端进行交流返回对应的请求数据,而返回的数据常常是两种格式的,文本格式和XML格式的,但是文本格式比较简单使用XML格式的数据很容易替代掉,所以使用XML表示更加的贴切,现在常常返回JSON格式的数据!

当然,异步好像没有解释,因为这是一个非常细微和隐秘的一个动作,在通过AJAX的引擎向后台服务器发送出请求后,JavaScript是不需要等待服务器的响应的(服务器的响应可能比较慢比较费时)而是先将控制权交给HTML页面本身,一边等待服务器的响应一边可以执行其他的脚本,当响应就绪后才对服务器端的响应进行对应的处理!在页面的体现是与服务器交换数据更新部分网页时,不会重新加载整个网页。

传统WEB应用模式和AJAX应用模式区别在于AJAX引擎的作用,如下图所示:

从上面我们也能感觉到,AJAX不是一种什么新的编程语言,她仅是一种使用老标准的新方法而已,这种方法使用了现有的一些标准,实现了在不加载整个网页的情况下能够与服务器进行交换数据并更新部分的网页。

2:使用AJAX的好处?

嗯,AJAX的最大特点就是他的价值所在,与服务器交互不需要刷新整个页面,这样的用户体验度更好,一边等待服务器的响应,一边又不耽误执行别的动作,这样的网页使用感觉会更爽一些!

3:AJAX的核心是什么?

从传统WEB应用模式和AJAX应用模式中我们也一定注意到了,其实他们相差无几,关键就是多了两点而已,一是服务器端返回的XML格式的数据,二是AJAX引擎。对于从服务器端返回什么样的数据,在这里意义稍微小一点,关键就在于AJAX引擎?那AJAX引擎是什么呢?我觉得是XMLHttpRequest对象,对就是它。

4:XMLHttpRequest对象是什么?

XMLHttpRequest对象是浏览器的一个内建对象,现在的主流浏览器均对其提供支持(IE7+、Firefox、Chrome、Safari以及Opera等等)。稍微需要注意的一点是IE5和IE6使用的是ActiveXObject对象,在最早的时候只有IE浏览器提供对应的支持,后来大多数主流浏览器也提供了支持,所以再后来就有了AJAX技术。

作为一个内建的浏览器对象都有一些什么内容呢?请往下看:

   1)XMLHttpRequest对象的属性

属性 描述

readyState

当前HTTP 请求的状态,只读属性。

responseText

从服务器返回的当前HTTP请求的响应信息,或者称为目前为止从服务器接收到的响应体,文本格式的信息,只读属性。

responseXML

从服务器返回的当前HTTP请求的响应信息,解析为 XML 并作为 Document 对象返回,只读属性。

status

从服务器返回的当前HTTP请求的状态码,使用数字表示,只读属性。

statusText

从服务器返回的当前HTTP请求的响应行状态,使用名称表示,只读属性。
responseBody 将响应信息正文以unsigned byte数组形式返回
responseStream 以ADO Stream对象的形式返回响应信息

   2)XMLHttpRequest对象的事件

事件 描述

onreadystatechange

每次 readyState 属性改变的时候调用的事件句柄函数。当 readyState 为 3 时,它也可能调用多次。

   3)XMLHttpRequest对象的方法

方法 描述
abort 取消当前响应,关闭连接并且结束任何未决的网络活动。
getAllResponseHeaders 获取响应的所有HTTP头,把 HTTP 响应头部作为未解析的字符串返回。
getResponseHeader 从响应信息中获取指定的HTTP头,返回指定的 HTTP 响应头部的值。
open 创建一个新的HTTP请求,初始化 HTTP 请求参数,比如指定此请求的方法、URL和验证信息(用户名/密码),但并不发送请求。
send 发送 HTTP 请求,使用传递给 open() 方法的参数,以及传递给该方法的可选请求体。
setRequestHeader 向一个打开但未发送的请求设置或添加一个 HTTP 请求。

   4)XMLHttpRequest对象大致的控制流程

上面的是大概的一个整体控制流程,让我们用一种更加细微角度再看看:

   5)通过上面的介绍我们已经大概了解了XMLHttpRequest对象是什么、有什么作用、来自那里,下面让我们看看比较官方的语言是怎么来介绍XMLHttpRequest对象的。

XMLHttpRequest 对象

XMLHttpRequest 是一个 JavaScript 对象,它最初由微软设计,随后被 Mozilla,Apple, 和 Google采纳. 如今,该对象已经被 W3C组织标准化. 通过它,你可以很容易的取回一个URL上的资源数据. 尽管名字里有XML, 但XMLHttpRequest 可以取回所有类型的数据资源,并不局限于XML。

XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。而且除了HTTP ,它还支持fileftp 协议.

XMLHttpRequest 对象是名为 AJAX 的 Web 应用程序架构的一项关键功能。

浏览器支持

XMLHttpRequest 得到了所有现代浏览器较好的支持。唯一的浏览器依赖性涉及 XMLHttpRequest 对象的创建。在 IE 5 和 IE 6 中,必须使用特定于 IE 的 ActiveXObject() 构造函数。

嗯,通过上面的介绍我们对XMLHttpRequest对象的认识就更加全面和专业一些了,不过我们还没有介绍怎么样使用它,所以,下面两小部分的内容分别介绍一下有关XMLHttpRequest对象的小代码段和常使用的属性与方法的更加详细的说明。

   6)XMLHTTPRequest对象的简单代码段

function ajaxMethod()
{
  //1:创建XMLHttpRequest对象
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

 //2:监听XMLHttpRequest对象的状态信息。每当 readyState 改变时,就会触发 onreadystatechange 事件(readyState 属性存有 XMLHttpRequest 的状态信息)
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    //DO SOMETHING FOR THE SERVER RESPONSE
    }
  }

//3:初始化HTTP请求的信息
xmlhttp.open("GET","URL",true);
//4:将HTTP请求发送到服务器
xmlhttp.send();
}

上面的这段简单的代码是不可用的,不过稍做修改就可能成为一个可用的AJAX方法了,当然,我们重点想说明的是,简单的封装一个AJAX方法使用到了XMLHttpRequest对象的那些方法和属性。当然,如果想封装一个更加健全和可靠的AJAX方法就必须详细的了解XMLHttpRequest对象的一些常用的方法和属性更加详尽的使用方式了!下面就是我想介绍的这些内容。

   7)XMLHTTPRequest对象常用的属性和方法的详细说明

        (1)XMLHTTPReuest对象的常用属性详解

                     a:readyState

readyState属性用于存储XMLHttpRequest对象的状态信息,当一个 XMLHttpRequest对象初次创建时,这个属性的值从 0 开始,直到接收到完整的 HTTP 响应,这个值增加到 4。readyState 的值不会递减,除非当一个请求在处理过程中的时候调用了 abort() 或 open() 方法。每次这个属性的值增加的时候,都会触发 onreadystatechange 事件。

并且5 个状态中每一个都有一个相关联的非正式的名称,如下表所示:

状态 名称 描述
0 Uninitialized 请求未初始化,XMLHttpRequest 对象已创建但是尚未初始化或已被 abort() 方法重置
1 Open open() 方法已调用,服务器连接已建立,但是 send() 方法未调用。请求还没有被发送。
2 Send Send() 方法已调用,HTTP 请求已发送到 Web 服务器,请求已被接收,但还未接收到响应,当前的状态及http头未知
3 Receiving 请求处理中,所有响应头部都已经接收到,响应体开始接收但未完成,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 Loaded 请求已完成,且HTTP 响应已经完全接收,响应已就绪,此时可以通过通过responseBody和responseText获取完整的回应数据

                     b:status

由服务器返回的 当前请求的HTTP 状态代码,如 200 表示成功,而 404 表示 "Not Found" 错误。当 readyState 小于 3 的时候读取这一属性会导致一个异常,仅当数据发送并接收完毕后才可获取。下表是常见的HTTP的状态码及其说明:

序号 状态码 描述
1 100 Continue
2 101 Switching protocols
3 200 OK
4 201 Created
5 202 Accepted
6 203 Non-Authoritative Information
7 204 No Content
8 205 Reset Content
9 206 Partial Content
10 300 Multiple Choices
11 301 Moved Permanently
12 302 Found
13 303 See Other
14 304 Not Modified
15 305 Use Proxy
16 307 Temporary Redirect
17 400 Bad Request
18 401 Unauthorized
19 402 Payment Required
20 403 Forbidden
21 404 Not Found
22 405 Method Not Allowed
23 406 Not Acceptable
24 407 Proxy Authentication Required
25 408 Request Timeout
26 409 Conflict
27 410 Gone
28 411 Length Required
29 412 Precondition Failed
30 413 Request Entity Too Large
31 414 Request-URI Too Long
32 415 Unsupported Media Type
33 416 Requested Range Not Suitable
34 417 Expectation Failed
35 500 Internal Server Error
36 501 Not Implemented
37 502 Bad Gateway
38 503 Service Unavailable
39 504 Gateway Timeout
40 505 HTTP Version Not Supported

                     c:statusText

statusText属性用名称而不是数字指定了请求的 HTTP 的状态代码。也就是说,当状态为 200 的时候它是 "OK",当状态为 404 的时候它是 "Not Found"。和 status 属性一样,当 readyState 小于 3 的时候读取这一属性会导致一个异常,也是仅当数据发送并接收完毕后才可获取。对应的名称参照上表。

                     d:responseText

responseText属性用于将来自服务器的响应信息作为字符串的形式返回。用它来存放到目前为止从服务器接收到的响应体(不包括头部),或者如果还没有接收到数据的话,就是空字符串。具体的存储时机如下:

如果 readyState 小于 3,这个属性就是一个空字符串。当 readyState 为 3,这个属性返回目前已经接收的响应部分。如果 readyState 为 4,这个属性就保存了完整的响应体。如果响应包含了为响应体指定字符编码的头部,就使用该编码。

                     e:responseXML

responseXML属性用于将来自服务器的响应信息格式化为Xml Document对象并返回。使用该属性时,服务器端要生成XML格式的数据,还要把响应的content-type设置为text/html,如果响应体不是“text/xml”返回null。

   (2)XMLHttpReuest对象的常用事件详解

onreadystatechange事件,当HTTP请求被发送到服务器时,我们需要执行一些基于响应的任务。使用readyState来存放 XMLHttpRequest对象 的状态信息,当 readyState 改变时,就会触发 onreadystatechange 事件。所以,可以使用此事件来处理一些基本的响应任务,当然此事件的重点是来处理当服务器响应已做好被处理的准备时所执行的任务,即 readyState=4 并且 status=200的时候。

   (3)XMLHttpReuest对象的常用方法详解

                     a:void open(string method,string url, boolean asynchronous[,string username][,string password])方法

                        作用:

初始化一个XMLHttpRequest对象,创建一个新的http请求,并指定此请求的方法、URL以及验证信息。

                        参数:

method:必选项,用于指定你想用来发送请求的HTTP方法(GET,POST,PUT,DELETE或HEAD)。为了把数据发送到服务器,应该使用POST方法;为了从服务器端检索数据,应该使用GET方法。

url:必选项,用于指定XMLHttpRequest对象把请求发送到的服务器相应的URI。借助于window.document.baseURI属性,该uri被解析为一个绝对的URI-换句话说,你可以使用相对的URI-它将使用与浏览器解析相对的URI一样的方式被解析。

asynchronous:必选项,用于指示这个调用是异步还是同步的,默认值为true,这表示请求本质上是异步的。如果这个参数为false,处理就会等待,直到从服务器返回响应为止。由于异步调用是使用Ajax的主要优点之一,所以倘若将这个参数设置为false,从某种程度上讲与使用XMLHttpRequest对象的初衷不太相符。在 某些情况下这,个参数设置为false也是有用的,比如在持久存储页面之前你可能想先验证用户的输入。

username:可选项,对于要求认证的服务器,你可以提供可选的用户名参数。

password:可选项,对于要求认证的服务器,你可以提供可选的口令参数。

                        备注:

在调用open()方法后,XMLHttpRequest对象把它的readyState属性设置为1并且把responseText、 responseXML、status和statusText属性复位到它们的初始值。另外,它还复位请求头部。注意,如果你调用open()方法并且此时readyState为4,则XMLHttpRequest对象将复位这些值。

                     b:void send(content)方法

                        作用

服务器发出请求

                        参数

content:可选项,可以是一个DOM对象的实例、一个输入流,或者是一个串。该参数可以包含可变类型的数据。典型地,你使用它并通过POST方法把数据发送到服务器。另外,你可以显式地使用null参数调用send()方法,这与不用参数调用它一样。对于大多数其它的数据类型,在调用send()方法之前,应该使用setRequestHeader()方法(见后面的解释)先设置 Content-Type头部。如果在send(data)方法中的data参数的类型为DOMString,那么,数据将被编码为UTF-8。如果数据 是Document类型,那么将使用由data.xmlEncoding指定的编码串行化该数据。注意,传入这个对象的内容会作为请求体的一部分发送。

                        备注:

在通过调用open()方法准备好一个请求之后,我们需要把该请求发送到服务器。仅当readyState值为1时,你才可以调用send()方法;否则的 话,XMLHttpRequest对象将引发一个异常。该请求被使用提供给open()方法的参数发送到服务器。当async参数为true 时,send()方法立即返回,从而允许其它客户端脚本处理继续。在调用send()方法后,XMLHttpRequest对象把readyState的 值设置为2(发送)。当服务器响应时,在接收消息体之前,如果存在任何消息体的话,XMLHttpRequest对象将把readyState设置为 3(正在接收中)。当请求完成加载时,它把readyState设置为4(已加载)。对于一个HEAD类型的请求,它将在把readyState值设置为 3后再立即把它设置为4。

                     c:void setRequestHeader(string header, string value)方法

                       作用:

用来设置请求的头部信息,具体的是为HTTP请求中一个给定的首部设置值。

                        参数:

header:必选项,要设置的首部。

value:必选项,要在首部中放置的值。

                        备注:

当readyState值为1时,你可以在调用open()方法后调用这个方法;否则,你将得到一个异常。换言之,这个方法必须在open()之后才能调用,并且如果已经存在已此名称命名的http头,则覆盖之。

                     e:string getAllResponseHeaders()方法

                        作用:

获取完整的http头信息,以一个字符串形式返回所有的HTTP请求的所有响应首部,首部包括Content-Length、Date和URI。

参数:

备注:每个http头名称和值用冒号分割,并以\r\n结束。如果readyState的值不是3或4,则该方法返回null。也即是当send方法完成后才可调用该方法。

                     f:string getResponseHeader(string header)方法

                        作用:

返回指定首部的串值。

                       参数:

header:必选项,表示希望得到的哪一个首部的值。

                        备注:

仅当readyState值是3或4(换句话说,在响应头部可用以后)时,才可以调用这个方法;否则,该方法返回一个空字符串。也就是当send方法成功后才可调用该方法。

                     g:void abort()方法

                        作用:

暂停与一个XMLHttpRequest对象相联系的HTTP请求,从而把该对象复位到未初始化状态。

                        参数:

                        备注:

调用此方法后,当前请求返回UNINITIALIZED 状态。

嗯,通过上面的总结,相信我们能比较容易的看明白下面的这两段小代码段啦!

1)一份把相关的方法基本都封装全了的XmlHttpRequest对象的JS文件(网上下载的),此JS文件的详细定义如下:

function CallBackObject()
 {
   this.XmlHttp = this.GetHttpObject();
 }

  //获得XMLHttpRequest对象
 CallBackObject.prototype.GetHttpObject = function()
 {
   var xmlhttp;
   if (!xmlhttp && xmlhttp typeof XMLHttpRequest != ‘undefined‘)
   {
        try
        {
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
            }
            else
            {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        catch (e)
        {
          xmlhttp = false;
        }
   }
  return xmlhttp;
}

 //处理服务器响应的回调函数
CallBackObject.prototype.DoCallBack = function(URL)
{
  if( this.XmlHttp )
  {
    if( this.XmlHttp.readyState == 4 || this.XmlHttp.readyState == 0 )
    {
      var oThis = this;
      this.XmlHttp.open(‘POST‘, URL);
      this.XmlHttp.onreadystatechange = function(){ oThis.ReadyStateChange(); };
      this.XmlHttp.setRequestHeader(‘Content-Type‘, ‘application/x-www-form-urlencoded‘);
      this.XmlHttp.send(null);
    }
  }
}

 //取消当前响应的回调函数
CallBackObject.prototype.AbortCallBack = function()
{
  if( this.XmlHttp )
    this.XmlHttp.abort();
}

 //服务器已连接时的回调函数
CallBackObject.prototype.OnLoading = function()
{
  // Loading
}

 //请求已接受时的回调函数
CallBackObject.prototype.OnLoaded = function()
{
  // Loaded
}

 //请求处理中的回调函数
CallBackObject.prototype.OnInteractive = function()
{
  // Interactive
}

 //请求已完成,且响应就绪时的回调函数
CallBackObject.prototype.OnComplete = function(responseText, responseXml)
{
  // Complete
}

 //请求未初始化时的回调函数
CallBackObject.prototype.OnAbort = function()
{
  // Abort
}

 //状态异常时的处理函数
CallBackObject.prototype.OnError = function(status, statusText)
{
  // Error
}

 //XMLHttpRequest对象的状态改变时的处理函数
CallBackObject.prototype.ReadyStateChange = function()
{
  if( this.XmlHttp.readyState == 1 )
  {
    this.OnLoading();
  }
  else if( this.XmlHttp.readyState == 2 )
  {
   this.OnLoaded();
  }
  else if( this.XmlHttp.readyState == 3 )
  {
   this.OnInteractive();
  }
  else if( this.XmlHttp.readyState == 4 )
  {
   if( this.XmlHttp.status == 0 )
      this.OnAbort();
    else if( this.XmlHttp.status == 200 && this.XmlHttp.statusText == "OK" )
      this.OnComplete(this.XmlHttp.responseText, this.XmlHttp.responseXML);
    else
      this.OnError(this.XmlHttp.status, this.XmlHttp.statusText, this.XmlHttp.responseText);
  }
}

2)改写的一段W3C测试AJAX方法的代码,学习编程最好是理论结合实践自己动手实验一下,说不定能发现许多意想不到的事情!

     a:联网的情况下,在浏览器地址栏输入:http://www.w3school.com.cn/tiy/t.asp?f=ajax_async_true

     b:然后将下面的代码输入到测试代码的编辑区:

<html>
<head>
<script type="text/javascript">
function show(whereRun)
{
  var para=document.createElement("p");
  var node=document.createTextNode(whereRun+"--- the time is :"+new Date().getTime());
  para.appendChild(node);

  var element=document.getElementById("show");
  element.appendChild(para);
}
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.onreadystatechange=function()
  {
     show("readyState is :"+xmlhttp.readyState+" --- status is :"+xmlhttp.status);
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }

show("open is running,before!------------");
xmlhttp.open("GET","/ajax/test1.txt",true);
show("open is running,after!-------------");

show("send is running,before!------------");
xmlhttp.send();
show("send is running,after!-------------");
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">通过 AJAX 改变内容</button>
<div id=‘show‘></div>

</body>
</html>

     c:点击测试代码编辑区上边的“提交代码”按钮

     d:点击查看结果取里面的“通过AJAX改变内容”按钮

     e:我的运行效果如下图所示:

     f:从上面的运行结果也看到了一下XMLHttpRequest对象的运行时机的内容, 更多的体验,就自己动手来实验一下吧!

参考:

1:W3C之AJAX教程

2:百度百科XMLHttpRequest

3:轻松掌握XMLHttpRequest

4:W3C之XMLHttpRequest

5:XMLHttpRequest的属性和方法

6:XMLHttpRequest对象全面剖析

7:AJAX和XMLHttpRequest下的Web开发(1)

8:MDN之XMLHttpRequest

感谢W3C!感谢互联网时代!谢谢!

时间: 2024-10-13 17:15:12

AJAX(学习笔记一)的相关文章

[ajax 学习笔记] json数据格式

之前写过ajax传送数据可以用普通文本和XML两种格式.这里记一下json数据格式. json:javascript object notation. 之前分析过,用文本和XML传送数据各有优劣.而json可以轻松地将javascript对象转换成可以随时发送的数据. 一个json数据例子: var people = { "programmers": [ { "firstName": "Brett", "lastName":&

Ajax学习笔记(二)

二.prototype库详解 1.prototype库的使用 //导入下载好的prototype.js文件 <script type="text/javascript" src="prototype.js"></script> //在自己的js中直接使用Prototype对象 <script type="text/javascript"> document.writeln("Prototype库的版本

[ajax 学习笔记] ajax 的服务器响应

在上一篇[ajax 学习笔记] ajax初试中,简单了解了一下ajax. 我是参考AJAX详解.chm学习的,资源已上传.参考链接:Ajax 专题 今天又学习了ajax中关于服务器响应的一些知识. ajax中服务器的响应是通过响应函数将服务器返回的数据呈现到页面的.服务器的响应体现在服务器响应回调函数中. 在上一篇的例子中,响应函数为: function updatePage(){ if(xmlHttp.readyState == 4){ //http就绪状态 if(xmlHttp.status

Ajax学习笔记(三)

三.jQuery库详解 1.使用jQuery之后,javascript操作的不再是HTML元素对应的DOM对象,而是包装DOM对象的jQuery对象.js通过调用jQuery对象的方法来改变它所包装的DOM对象的属性,从而实现动态更新HTML页面. 由此可见,使用jQuery动态更新HTML页面只需以下两个步骤: (1)获取jQuery对象.jQuery对象通常是DOM对象的包装 (2)调用jQuery对象的方法来改变自身.当jQuery对象被改变时,jQuery包装的DOM对象随之改变,HTM

ajax学习笔记1

ajax是什么? ajax即“Asynchronous Javascript + XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.能够快速的从服务器获得所需数据和内容,实现局部刷新让用户能够更好的浏览网站.在没有ajax的时候,网页提交表单必须进行等待和刷新,这时用户必须等待服务器的响应,用户在当前页面不能做其他事情.自从有了ajax,用户在提交表单的时候不需要等待,可以浏览该页的其它东西,表单提交之后服务器能很快的返回所需的数据和网页,网页无需刷新. a

AJax 学习笔记二(onreadystatechange的作用)

AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了onreadyStateChange事件实现这一功能.这类似于回调函数的做法.onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果,如: 复制代码 代码如下: ajaxObj=createAjaxObject(); var url="/MyTod

Ajax学习笔记(一)

XMLHttpRequest对象详解 1.Ajax应用中我们使用XMLHttpRequest对象异步发送请求,这种请求既可以是GET,也可以是POST,都可以带请求参数. 请求发送出去之后,服务器响应会在合适的时候返回,但是客户端不会自动加载这种异步响应,程序必须先调用XMLHttpRequest对象的responseText或responseXML来获取    服务器响应,再通过DOM操作将服务器响应动态加载到当前页面中. XMLHttpRequest的用处是:提供与服务器异步通信的能力 2.

jQuery中的Ajax学习笔记

前段时间学习了<锋利的jQuery第六章>jQuery与Ajax应用,现做如下笔记: 我们先来了解一下,什么是Ajax呢?Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体.简短地说,在不重载整个页面的情况下,Ajax通过后台加载数据,并在网页上进行显示. 我们来简要回顾一下Ajax.早在1998年,微软就引入了一个ActiveX控件,从而能

Ajax学习笔记

Java软件开发中,后台中我们可以通过各种框架,像SSH等进行对代码的封装,方便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进行封装控制,使我们只需要进行一些简单配置就可以实现:而spring进行了对各种对象的管理进行封装,提供了AOP编程的方式,大大方便了我们:而hibernate和IBatis则是对JDBC代码进行封装,不需要我们每次都写那些重复而繁杂的JDBC代码. 前台呢,对于页面一些效果,验证等,我们都是通过JavaScript语言进行完

Javascript,jQuery,ajax学习笔记。持续更新中。[荐]

欢迎大家关注我的博客,我的博客是在平常学习看书中和总结而撰写的,欢迎大家和我交流,不足之处还很多,希望大家和我交流. 一:javascript基础系列(已完结) 二:javascript基础系列之DOM(已完结) 三:jQuery系列文章(未完结) 四:AJAX(未完结) 五:JavaScript权威指南第6版中文版   一:javascript基础系列: Javascript基础系列之(一)JavaScript语法 Javascript基础系列之(二)变量 Javascript基础系列之(三)