首页 > 代码库 > jquery中的ajax参数
jquery中的ajax参数
jquery中将ajax封装成了函数,我们使用起来非常方便,jquery会自动根据内容选择post还是get方式提交数据,并且会自动编码,但是要想完全掌握jquery中的ajax,我们必须将它的各个参数记住:
1、url strng 发送请求的地址
2、type string 请求方式(post或get,默认get),其他http请求方法,比如:put和delete也可以使用,但只有部分浏览器支持。
3、timeout number 设置请求超时时间(毫秒)。此设置将覆盖全局设置。
4、async bollean 是否异步请求,默认情况下为true。
5、beforeSend function 发送请求前可以修改XMLHttpRequest对象的函数,比如自定义http请求头,在beforeSend中如果返回false可以取消本次ajax请求。XMLHttpRequest对象是唯一的参数。
function(XMLHttpRequest){
this;//调用本次ajax请求时传递的参数option;
}
6、complete function 请求完成后的回调函数,不管请求成功或者失败都会调用;它的参数是XMLHttpRequest对象一级成功信息字符串。
function(XMLHttpRequest,textStatus){
this;//调用本次ajax请求时传递的参数option;
}
7、contentType string 默认是:("application/x-www-form-urlencoded");为发送信息至服务器时内容的编码类型。默认值适合大多数应用场合。
8、data object,string 传递给服务器的数据,将自动转换为请求字符串格式。get请求会把它附加在url后面,查看processData选项说明以禁止此自动转换。必须为键值对格式,如果为数组,jquery将自动为不同的值对应同一个名称。如{foo:["bar1",bar2]}转换为"&foo=bar1&foo=bar2";
9、dataType string 预期处理服务器返回的数据类型。如果不指定,jq将自动根据http包MIME信息返回responseXML或resonseText,并作为回调函数参数传递,可用值:
"xml":返回XML文档,可用jq处理。
"html":返回纯文本的HTML信息,包含script;
"script":返回纯文本javascript代码,不会自动缓存结果;
"json":返回JSON数据;
"jsonp":JSONP格式;使用JSONP形式电泳函数是,如"myurl?callback=?";jq将会自动替换?为正确的函数名,以执行回调函数。
10、error function 请求失败时将调用此方法。这个方法有三个参数:
XMLHttpRequest
对象,
错误信息,(可能)捕获的错误对象;
function(XMLHttpRequest,textStatus,errorThrown){
//通常情况下,textStatus和errorThrown
this;//调用本次ajax请求时传递的参数option;只有其中一个有值;
}
11、global bollean 是否触发全局ajax事件,默认true,设置为false将不会触发全局ajax事件,如ajaxStart或ajaxStop。可用于控制不同的ajax事件。
12、ifModified bollean 仅在服务器数据改变时获取新数据(默认false)。根据http包Last-Modified头信息判断。
13、processData bollean 默认情况下,发送的数据将会被转化成对象(技术上讲并非字符串)一配合默认内容类型:"application/x-www-form-urlencoded"。如果要发送DOM数信息或其他不希望转换的信息,设为false。
14、success function 请求成功偶的回调函数。这个方法有两个参数:服务器返回数据,返回状态:
function(data,textStatus){
// data could be xmlDoc, jsonObj, html, text, etc..
this; // the options for this ajax request
}
代码如下:
$(function(){
$(‘#send‘).click(function(){
$.ajax({
type: "GET",
url: "test.json",
data: {username:$("#username").val(), content:$("#content").val()},
dataType: "json",
success: function(data){
$(‘#resText‘).empty(); //清空resText里面的所有内容
var html = ‘‘;
$.each(data, function(commentIndex, comment){
html += ‘<div class="comment"><h6>‘ + comment[‘username‘]
+ ‘:</h6><p class="para"‘ + comment[‘content‘]
+ ‘</p></div>‘;
});
$(‘#resText‘).html(html);
}
});
});
});
jq中的ajax是面试官喜欢问的问题,也是实际工作中会经常遇到的,需要牢牢记住!
jquery中的ajax参数