Ajax(8-20)

1.创建XMLHttpRequest对象

所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。XMLHttpRequest 用于在后台与服务器交换数据。

跨浏览器创建XMLHttpRequest对象

function newXMLHttpRequest(){
    var request = false;
   if (window.XMLHttpRequest){
       request = new XMLHttpRequest();
   } else if (window.ActiveXObject){
       try{
           request = new ActiveXObject("Msxml2.XMLHTTP");
       }  catch (e1){
            try{
                 request = new ActiveXObject("Microsoft.XMLHTTP");
            }  catch (e2){
                request = false;
            }
       }
   }
   return request;
}
 

 XMLHttpRequest对象的属性:

–readyState      返回当前请求的状态

ReadyState取值

描述

0

描述一种"未初始化"状态;此时,已经创建一个XMLHttpRequest对象,但是还没有初始化。

1

描述一种“初始化"状态;此时,代码已经调用了XMLHttpRequest open()方法并且XMLHttpRequest已经准备好把一个请求发送到服务器。

2

描述一种"发送"状态;此时,已经通过send()方法把一个请求发送到服务器端,但是还没有收到一个响应。

3

描述一种"正在接收"状态;此时,已经接收到HTTP响应头部信息,但是消息体部分还没有完全接收结束。

4

描述一种"已加载"状态;此时,响应已经被完全接收。

 
–onreadystatechange  指定当readState属性改变时的事件处理句柄
–status   返回当前请求的http状态码
–statusText   返回当前请求的响应行状态
–responseBody  将回应信息正文以unsigned byte数值形式返回
–responseStream  以AdoStream对象的形式返回响应信息
–responseText    将响应信息作为字符串返回
–responseXML   将响应信息格式化为XmlDocument对象并返回
 
  XMLHttpRequest对象的六个方法:
 
6个方法:
–abort()  取消当前请求
–open()  创建一个新的http请求,并制定此请求和方法、url以及验证信息
–send()  发送请求到http服务器并接收回应
–setRequestHeader()  单独指定请求的某个http头
–getResponseHeader() 从响应信息中获取指定的http头
–getAllResponseHeaders()  获取响应的所有http头
 

2.AJAX - 向服务器发送请求

如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:

xmlhttp.open("GET","test1.txt",true); xmlhttp.send();
open(method,url,async):

method:请求的类型;GET 或 POST
url:文件在服务器上的位置
async:true(异步)或 false(同步)
send(string)
将请求发送到服务器。  string:仅用于 POST 请求

 

3.GET 还是 POST?

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

 

4.AJAX - 服务器响应
如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

responseText 属性返回字符串形式的响应,因此您可以这样使用:

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;


5. XMLHttpRequest对象的方法和属性


·open():建立到服务器的新请求。
·send():向服务器发送请求。
·abort():退出当前请求。
·readyState:提供当前 HTML 的就绪状态。
·responseText:服务器返回的请求响应文本。










 

 

你可能感兴趣的:(Ajax)