首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery ajax句柄401未经授权

jQuery ajax句柄401未经授权
EN

Stack Overflow用户
提问于 2012-04-22 19:48:09
回答 2查看 83.9K关注 0票数 25

我打电话给使用jQuery ajax的第三方网页。根据他们的页面,如果登录成功,他们会给我发送状态代码200,如果登录失败,他们会给我发送401状态代码。下面是我的jquery代码示例。这段代码在IE上运行良好,但不能在Chrome或Firefox上运行。可能的问题是什么?

代码语言:javascript
复制
$.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
});

我尝试了所有函数error、success、complete和statusCode。它们都不能处理401错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-23 09:21:31

我可以把它改成bellow。

代码语言:javascript
复制
$(document).ready(function(){
        $("#cmdLogin").click(function(){             
             var request = $.ajax({
                url : hostURL + 'j_teo_security_check',
                data: ({j_username : $("#inp_user_name").val(), j_password: $("#inp_user_pwd").val()}),
                dataType : "jsonp",
                timeout : 5000
            });

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

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

我所做的是添加了超时,因为401错误再也没有回来。由于它转到错误函数,即使状态码为200并解析错误,我也忽略了错误中的状态200。

票数 11
EN

Stack Overflow用户

发布于 2012-04-22 20:36:36

好的,看起来您使用的是jsonp,我认为这可能是jsonp的一个限制。瞧一瞧。

http://forum.jquery.com/topic/jquery-ajax-with-datatype-jsonp-will-not-use-error-callback-if-request-fails

看起来在上一篇文章中有一个解决方案。希望这能有所帮助!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10267683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档