ajax请求不进入后台直接success ajax请求后台数据
ajax的error是怎么定义的
1. 后台出错
(包括url错误)
2. 后台响应中断
3. 返回数据类型和ajax中定义的格式不一致;
等等。
--------------------------------------------------------------------------------
Ajax请求通过XMLHttpRequest对象发送请求,该对象有四个状态(readyState):0-未初始化1-正在初始化2-发送数据3-正在发送数据4-完成当XMLHttpRequest.readyState为4时,表示请求已经完成可以得到响应结果。当然success和error方法还是根据响应状态码来触发。当XMLHttpRequest.status为200的时候,表示响应成功,此时触发success().其他状态码则触发error().
Jquery的$.ajax()函数只是封装了ajax请求,本质上还是通过JS XMLHttpRequest内置对象来处理的。
jquery中ajax超时怎么处理
var ajaxTimeoutTest = $.ajax({<br> url:'', //请求的URL<br> timeout : 1000, //超时时间设置,单位毫秒<br> type : 'get', //请求方式,get或post<br> data :{}, //请求所传参数,json格式<br> dataType:'json',//返回的数据格式<br> success:function(data){ //请求成功的回调函数<br> alert("成功");<br> },<br> complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数<br> if(status=='timeout'){//超时,status还有success,error等值的情况<br> ajaxTimeoutTest.abort();<br> alert("超时");<br> }<br>设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时执行响应的操作。
如何使用ajax的error捕获后台抛出
ajax的Error是在ajax异常时抛出的!不是后台异常时抛出的~一直执行success是因为你的AJAX没有错误,至于后台抛出的异常你应该在success里对返回的数据做判断然后抛出异常!
使用jQuery发ajax请求
$('#next').on('click', function() {
$.ajax({
url: 'get_sample_info',
method: 'post',
data: {tagType: $('#tag-type').val(), startDate: $('#start-date').val(), endDate: $('#end-date').val()},
success: function() {
console.log('success!');
},
error: function() {
},
always: function() {
}
})
});