我试图使用下面的代码获取我的ajax调用的http状态代码,但xhr.status始终未定义..
function checksession() {
$.ajax({
type:'POST'
,url:'CheckSession'
,success: validateresult(session_ind)
,data: { antiCSRF : '{{acsrf}}',
session_id: '{{session_id}}'}
})
function validateresult(session_ind,xhr){
alert(xhr.status)
}
答案 0 :(得分:0)
$.ajax({
//...
success: function(data, textStatus, xhr) {
console.log(xhr.status);
},
complete: function(xhr, textStatus) {
console.log(xhr.status);
},
error: function(xhr, textStatus , xhr) {
console.log(xhr.status);
}
});
或使用:
statusCode :数字HTTP代码和函数的对象 当响应具有相应的代码时调用。例如, 当响应状态为404时,以下将发出警告:
$.ajax({
statusCode: {
404: function() {
}
}
});
答案 1 :(得分:0)
function checksession() {
$.ajax({
type:'POST'
,url:'CheckSession'
,success: validateresult(session_ind)
,data: { antiCSRF : '{{acsrf}}',
session_id: '{{session_id}}'}
success: function(data, textStatus, xhr) {
console.log(xhr.status);
},
complete: function(xhr, textStatus) {
console.log(xhr.status);
},
error: function(xhr, textStatus , xhr) {
console.log(xhr.status);
}
});
}
答案 2 :(得分:0)
似乎xhr
(或jqxhr
以下)被列为validateresult
来电的参数,仅session_ind
尝试
function checksession() {
$.ajax({
type:'POST'
,url:'CheckSession'
,success: function (session_ind, textStatus, jqxhr) {
validateresult(session_ind, textStatus, jqxhr)
}
,data: { antiCSRF : '{{acsrf}}',
session_id: '{{session_id}}'}
});
function validateresult(session_ind, textStatus, jqxhr){
alert(jqxhr.status)
}
};
checksession();