jQuery ajax手柄401未经授权

前端之家收集整理的这篇文章主要介绍了jQuery ajax手柄401未经授权前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。



我使用jQuery ajax打电话给第三方网页.根据他们的页面,如果登录成功,则向我发送状态码200,如果登录失败,则发送401.这是我的jquery代码示例.此代码在IE上正常工作,但在Chrome或Firefox上无效.可能是什么问题?
$.ajax({
  type: 'GET',url: hostURL + 'j_teo_security_check?callback=?',dataType: 'json',data: ({j_username : $("#inp_user_name").val(),j_password: $("#inp_user_pwd").val()}),statusCode: {
      401:function() { alert("401"); },404:function() { alert("404"); },200:function() { alert("200"); },201:function() { alert("201"); },202:function() { alert("202"); }
    },complete: function(httpObj,textStatus){
    alert(httpObj.status);
  },error: function(){
    alert("error");
  },async: false
});

我尝试所有的功能错误,成功,完成和statusCode.他们都不处理401错误.

解决方法

我可以修复它如下.
$(document).ready(function(){
        $("#cmdLogin").click(function(){             
             var request = $.ajax({
                url : hostURL + 'j_teo_security_check',dataType : "jsonp",timeout : 5000
            });

            request.success(function() {
                loginSuccess();
            });

            request.error(function(httpObj,textStatus) {       
                if(httpObj.status==200)
                    loginSuccess();
                else
                    loginFail();
            });
        });
    })

我做的是添加超时,因为401错误从来没有回来.由于即使使用状态代码200和解析错误也会进行错误功能,因此使其忽略错误内的状态200.

猜你在找的jQuery相关文章