您的位置:首页 > Web前端 > JQuery

JQuery Ajax

2016-01-15 15:26 671 查看

1.XMLHttpRequest

Ajax的核心是JavaScript对象XMLHttpRequest,XMLHttpRequest可以提供不重新加载页面的情况下更新网页, XMLHttpRequest可以同步或异步返回Web服务器的响应,并且能以文本或者一个DOM文档形式返回内容。

1.1.XMLHttpRequest对象的属性

onreadystatechange   
指定当readyState属性改变时的事件处理句柄

readyState                
返回当前请求的状态

status
                       返回当前请求的HTTP状态码

statusText
                 返回当前请求的响应行状态

responseBody           
返回正文信息

responseStream         
以文本流的形式返回响应信息

responseText             
以字符串的形式返回响应信息

responseXML           
以XML数据的形式返回响应信息

1.2.XMLHttpRequest对象的方法

open()         创建一个新的HTTP请求,并指定此请求的方法、URL以及验证信息(用户名/密码)

send()          发送请求到HTTP服务器并接收响应

getAllResponseHeaders()   
获取响应的所有HTTP头信息

getResponseHeader()         
从指定信息中获取指定的HTTP头信息

setRequestHeader()           
单独指定请求的某个HTTP头信息

abort()         取消当前请求

1.3.使用XMLHttpRequest对象实现异步通信的步骤

(1)定义XMLHttpRequest对象实例

eg.

if(window.XMLHttpRequest){

var xmlhttprequest = new XMLHttpRequest();

}else if(window.ActiveXObject){

try{

var xmlhttprequest = new ActiveXObject("Msxml2.XMLHTTP");

}catch(e){

var xmlhttprequest = new ActiveXObject("Microsoft.XMLHTTP");

}

}


(2)调用open()方法建立与服务器端的连接

xmlhttprequest.open(Method,Url,Async,User,Password)

Method表示HTTP方法,如POST、GET、PUT等;

Async为可选项,默认true,表示异步通信,当为false时,表示同步通信;

User和Password表示与服务器进行验证。

(3)注册onreadystatechange事件处理函数,以便接收和处理从服务器端响应的信息

(4)调用send()方法发送请求

xmlhttprequest.send(varBody)

eg. 

xmlhttprequest.open("GET","test.jsp?name=wang",false);

xmlhttprequest.send(null);

alert(xmlhttprequest.reqponseText);


2.JQuery
Ajax

2.1.JQuery
Ajax方法及其说明

ajax()                  
执行一个异步的HTTP(Ajax)请求

ajaxComplete()    
当Ajax请求完成后注册一个回调函数,这是一个Ajax事件

ajaxError()          
当Ajax请求出错时注册一个回调函数,这是一个Ajax事件

ajaxSend()           
每当一个Ajax请求即将发送时注册一个回调函数,这是一个Ajax事件

ajaxSetup()          
设置未来的Ajax请求默认选项

ajaxStart()            
当Ajax请求开始时注册一个回调函数,这是一个Ajax事件

ajaxStop()            
在Ajax请求停止后隐藏加载信息

ajaxSuccess()        
当一个Ajax请求成功时显示一个信息

get()                     
通过服务器HTTP GET请求加载数据

getJSON()             
通过HTTP GET请求从服务器载入JSON数据

getScript()             通过HTTP
GET请求从服务器载入并执行JavaScript

load()                    
载入远程HTML文件代码并插入至DOM中

param()                 
创建一个序列化的数组或对象,适用于一个URL地址查询字符串或Ajax请求

post()                    通过服务器HTTP
POST请求加载数据

serialize()               
将用作提交的表单元素的值编译成字符串

serializeArray()       
将用作提交的表单元素的值编译成拥有name和value对象组成的数组,如[{name:a value:1},...]。

eg.

$.ajax({

type:"GET",

url:"test.jsp",

data:"name=wang&age=20",

success:function(data){

alert(data);

}

});


2.2.ajax方法参数选项列表

url                String      发送请求的地址(默认为当前页地址)

type             String       请求方式(post或get)默认为get

timeout         Number   请求超时时间(毫秒)

username     
String      用于响应HTTP访问认证请求的用户名

password     
String       用于响应HTTP访问认证请求的密码

success        
Function   请求成功后调用的回调函数

async           Boolean    
设置是否异步请求,默认为true,即所有请求均为异步请求

beforeSend  
Function    发送请求前可以修改XMLHttpRequest对象的函数,如果返回false可以取消本次ajax请求。XMLHttpRequest对象是惟一的参数

cache           Boolean    
设置缓存,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息

complete     
Function     请求完成后调用的回调函数(请求成功或失败时均调用), 参数:XMLHttpRequest对象和一个描述成功请求类型的字符串

contentType 
String        发送信息至服务器时的内容编码类型,默认为"application/x-www-form-urlencoded"

data      Object/String    
发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。对象必须为key/value格式,如果是数组,JQuery将自动为不同值对应同一个名称,例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

dataType      String       
预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:xml:返回XML文档,可用JQuery处理。html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。json:返回JSON数据。jsonp:JSONP格式。使用JSONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。text:返回纯文本字符串。

dataFilter    
Function     给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。

error         Function    
请求失败时被调用的函数。函数:即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。

global          Boolean    
默认为true,表示是否触发全局ajax事件

ifModified   Boolean    
默认为false。仅在服务器数据改变时获取新数据

jsonp          String       
在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

processData   Boolean    
默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

scriptCharset    String    
只有当请求时dataType为"jsonp"或者"script",并且type是GET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用。

xhr              Function    
需要返回一个XMLHttpRequest对象,用于重写会提供一个增强的XMLHttpRequest对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: