ajax调用后获取http状态代码

时间:2014-08-13 15:05:30

标签: jquery ajax

我试图使用下面的代码获取我的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)
            }

3 个答案:

答案 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();

jsfiddle http://jsfiddle.net/guest271314/nuukyLn0/