大家好,又见面了,我是全栈君。
在工作总是会有很多地方用到异步请求,有时候用快捷方法 get/post 或者getJson不能满足自己的需求,所以必须使用底层的ajax来实现异步请求,每次写完下次在用到的时候就记不清楚了,就在这里记录一下,方便自己以后使用和其他人学习! 主要是参考整理JQuery的文档和一些好博客内容!记录一下平常工作最常用的! 一:首先贴出ajax的例子
var ajaxRequest=$.ajax({
url: '${pageContext.request.contextPath}/sysback/productbabyset/saveBabyRelate',//提交的URL
type: "POST",
timeout:1000,
async: false,
cache: true,
// data: $('#mainForm').serialize(), // 要提交的表单,必须使用name属性
data : {data:data},
dataType: "json",
beforeSend : function(XMLHttpRequest, textStatus){
//参数:XMLHttpRequest对象和一个描述成功请求类型的字符串。
},
success: function (data, textStatus) {
//data:由服务器返回,并根据dataType参数进行处理后的数据
//textStatus:描述状态的字符串。
doing something...
},
error: function(XMLHttpRequest, textStatus, errorThrown){
//XMLHttpRequest对象
//textStatus的值:null, timeout, error, abort, parsererror
//errorThrown的值:收到http出错文本,如 Not Found 或 Internal Server Error
alert(XMLHttpRequest.readyState + XMLHttpRequest.status + XMLHttpRequest.responseText); //详见参考文章$.ajax的error,complete,success方法
}
complete: function(XMLHttpRequest, textStatus){
//XMLHttpRequest对象
//textStatus的值:success,notmodified,nocontent,error,timeout,abort,parsererror
doing something...
//For Example : request timeout
if(status=='timeout'){
ajaxRequest.abort(); // Do not send ajax request
}
}
});
二:讲解其中各个属性详解
$.ajax({
url: url,
data: data,
success: success,
data类型:dataType
});
$.get("data.php",{data:"data"},function(data){
$("#data").html(data);//返回的data是json类型
},"json");
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
$.post("data.php",{data:"data"},function(data){
$("#data").html(data);//返回的data是json类型
},"json");
其中get和post的解释说明:
**url**
类型:String
一个包含发送请求的URL字符串.
**data**
类型:PlainObject or String
一个普通对象或字符串,通过请求发送给服务器。
**success**
类型:Function( PlainObject data, String textStatus, jqXHR jqXHR )
当请求成功后执行的回调函数。 如果提供dataType选项,那么这个success选项是必须的, 但你可以使用null或jQuery.noop作为占位符。
**dataType**
类型:String
从服务器返回的预期的数据类型。默认:智能猜测(xml, json, script, text,html)。
– (3):getJson jQuery.getJSON( url [, data ] [, success(data, textStatus, jqXHR) ] ) 相当于:
$.ajax({ dataType: "json", url: url, data: data, success: success });
$.getJSON("data.php",{data:"data"},function(jsonData){
$("#data").html(jsonData.id);}//无需设置,直接获取的数据类型为json
);
四:参考文章 1:.ajax方法详解 2:.ajax的error,complete,success方法 3:jQuery.ajax 文档
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/121237.html原文链接:https://javaforall.cn