jquery的ajax code,how to get jquery ajax status code

可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):

问题:

I want to know that how can we get ajax status code in jquery.

I have this ajax block:

$.ajax{

type: "GET",

url: "keyword_mapping.html",

data:"ajax=yes&sf="+status_flag,

success: callback.success,

complete: rollup_filters(),

failure: function(){

alert("Failure");

}

}

Now in above code, in case of failure, how can i get ajax status code and some description of that status code ??

回答1:

You want to use the error option to capture this. For example:

error: function (jqXHR, textStatus, errorThrown)

// Your handler here...

}

You can then use the jqXHR object to retrieve information about the failure.

From the documentation:

For backward compatibility with XMLHttpRequest, a jqXHR object will expose the following properties and methods:

readyState

status

statusText

responseXML and/or responseText when the underlying request responded with xml and/or text, respectively

setRequestHeader(name, value) which departs from the standard by replacing the old value with the new one rather than concatenating the new value to the old one

getAllResponseHeaders()

getResponseHeader()

abort()

回答2:

First, you have a few syntax errors. The above is a method call, so it needs to follow $.ajax({ ... }); (with parenthesis).

Secondly, you want to supply the error property as part of the object, not failure (see docs for more information).

Third, when you do bind to an error, you are supplied three parameters: jqHXR, textState, errorThrow. These arguments will supply you the details of a failed AJAX call. (More specifically, try jqXHR.status)

Alternatively, you can bind to the $.ajaxError function as well.

Update To keep this more up-to-date, you should now be following the Deferred API (as of jQuery 1.5), which would make binding to an error look something like the following:

$.ajax({ /* options */ })

.done(function( data, textStatus, jqXHR ){

// here you bind to a successful execution.

.fail(function( jqXHR, textStatus, errorThrown ){

// Here you can catch if something went wrong with the AJAX call.

})

.always(function(){

// here you can execute code after both (or either) of

// the above callbacks have executed.

});

回答3:

Change your failure callback to

error:function (xhr, options, error){

alert(xhr.status);

alert(error);

}

回答4:

There is nothing like failure in ajax settings. Replace failure by error and you get 3 arguments in the error callback. First argument is the xhr object which has a status property in it.

$.ajax{

type: "GET",

url: "keyword_mapping.html",

data:"ajax=yes&sf="+status_flag,

success: callback.success;

complete: rollup_filters(),

error: function(jqXHR, textStatus, errorThrown){

alert(jqXHR.status);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值