搜档网
当前位置:搜档网 › 13.jQuery中ajax操作函数

13.jQuery中ajax操作函数

13.jQuery中ajax操作函数
13.jQuery中ajax操作函数

jQuery中常用ajax函数简介

1. $().load(url,data,function); -----局部的方法

url:必须,可以带参数,此时为get方式传递,有data为post方式传递,

data:json格式此时为post格式传递

function(response,status,xhr):成功是执行的回调函数

response:返回的数据

status:"error","success"

xhr:responseText/XML status,readyState,statusText->'OK'..

/*

这个函数是在前面选中的对象中显示

*/

2.$.get(url,data,function,type),$.post(url,data,function,type)

$.get():

url:必须,可以带参数,

data:可选,字符串或者是json对象

function(response,status,xhr):完成时返回的对象其中status有"success"或"error"

type:返回内容的格式,xml,script,json,text,default 可选

//jQuery会智能判断加载类型,除非我们强制设置

$.post():

url:必须

data:可选,字符串或者是json对象

function(response,status,xhr):完成时返回的对象其中status有"success"或"error"

type:返回内容的格式,xml,script,json,text,_default 可选

//jQuery会智能判断加载类型,除非我们强制设置,

对于json,js等最好设置下

3.$.getScript(url,callback),$.getJSON(url,data,callback);

$.getScript():加载script

$.getJSON(url,data,callback):

url:必须;如果是跨域请求,则需要在末尾加上?callback=?;在服务器端

echo $_GET["callback"]."(json内容)";

data:传递的参数k/v类型

function(reponse,status,xhr):成功是执行的函数

4.$.ajax(url,[settings])

$.ajax({}):

{

url:必须,get传递可以把参数绑在后面

type:"GET","POST"默认为GET传递

data:必须为k/v类型

dataType:xml,html,text,json,jsonp..

success(responseText,status,xhr):成功执行后返回,其中status:"success"或"error"

global:false|true;是否禁止全局

complete(xhr,responseText):请求完成执行的

error(xhr,errorText,errorStatus):请求失败执行的函数

beforeSend(xhr,settings):请求前;执行的回调函数;如可以设置请求前的某些参数}

跨域请求;要么datatype:json;url后加?callback=?或者就是datatype为datatype:jsonp 5,加载请求;$(document).ajaxStart(callback),$(document).ajaxStop(callback)

$(document).ajaxStart(callback):未完成请求激活的事件

$(document).ajaxStop(callback):完成请求激活的事件

例子:$(document).ajaxStart(function(){

$().show();

}).ajaxStop(function(){

$().hide();

});

6,全局事件$(document).ajaxError(callback),$(document).ajaxSuccess(callback),

$(document).ajaxComplete(callback),$(document).ajaxSend(callback),

$(document).ajaxError(callback):有错误执行的事件

callback:function(event,xhr,settings,infoError)

连缀形式为(局部方法).error(function(xhr,status))

$(document).ajaxSuccess(callback):请求成功是执行的函数

callback:function(event,xhr,settings)

局部方法:.success(function(response,status,xhr))

$(document).ajaxComplete(callback):请求完成时执行;不管成功与否

callback:function(event,xhr.settings)

局部方法:.complete(function(xhr,status));

$(document).ajaxSend(callback):请求前执行函数$.ajax()中beforeSend()

callback:function(event,xhr,settings)

以后:.ajaxSuccess(),.ajaxComplete(),.ajaxError()会被.done(),.always(),.fail()

取代;因为他们有优点

7,jqXHR对象相比$.ajax()有好处

1,可以连缀的操作,可读性大大提高

2,可以多次执行同一个回调函数

3,可以操作指定回调函数

var jqXHR=$.ajax({url,data,type});

jqXHR.done().done();

var jqXHR1=$.ajax({url,data,type});

varjqXHR2=$.ajax({url,data,type});

$.when(jqXHR,jqXHR).done(function(r1,r2){

alert(r1[0]);

alert(r2[0]);

})

8,$.ajaxSetup();和$.ajax()差不多;只是设置全局的;

9,表单序列化

$("form").serialize();将表单的数据序列成name=value&name=value&name=value形式$("form").serializeArray();将表单序列成数组:[{name:"name1",value:"value1"},{name:"name1",value:"value2"}]

$.param(obj,true|false) 将对象序列成name=value&name=value&name=value形式。.serialize()

核心函数如果第二个设置为true;不序列对象里面的对象

?>

相关主题