当前位置: 首页 > 面试题库 >

jQuery ajax http状态代码

戚良弼
2023-03-14
问题内容

我现在将脚本更改为jquery。这是我的旧javascript:

var request = (window.XMLHttpRequest) ? new XMLHttpRequest() : (window.ActiveXObject ? new window.ActiveXObject("Microsoft.XMLHTTP") : false);
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);

function updatePage() {
        if (request.readyState == 4) {
                if (request.status == 200) {
                    var response = request.responseText;
                    doSomething();
                } else if (request.status == 304) {
                    doSomethingElse();
                } else {
                }
        }
}

我现在想将其更改为jquery-ajax:

request = $.ajax({
    type: "GET",
    url: url,
    data: data,
    success: updatePage
});

像在旧脚本中一样,如何测试请求返回的状态码(和responseText)?


问题答案:

试试这个:

request = $.ajax({
    type: "GET",
    url: url,
    data: data,
    statusCode: {
      200: function() {
        doSomething();
       },
      304:function(){
        doSomethingElse();
       }
     }
});

要么:

request = $.ajax({
    type: "GET",
    url: url,
    data: data,
    complete: function(e, xhr, settings){
       if(e.status === 200){

       }else if(e.status === 304){

       }else{

       }
    }
});


 类似资料:
  • 问题内容: 我有一个API调用,我需要对其进行一些检查并可能返回各种状态代码。我不需要自定义视图或任何东西,我只需要返回正确的代码。如果用户未通过适当的凭据,则需要返回401状态。如果他们尚未发送受支持的请求格式,则需要返回400状态。 因为它是一个API,所以我真正想做的就是设置响应状态并以一条简单的愚蠢消息退出,该消息说明请求失败的原因(可能使用)。刚好足以完成工作,但我还无法使其正常工作。我

  • 我考虑在项目中使用fluent-http。 所以我尝试注入: 返回正确的字符串,但似乎没有使用状态代码。在这两种情况下,响应都有一个代码HTTP200。 注意:我发现一些状态代码是预先实现的: null

  • 我正在尝试使用BitBucket GIT存储库设置Jenkins,但Jenkins控制台总是给我以下错误代码: 我尝试过很多不同的方法,但总是失败。我的服务器上允许9418端口上的通信量。服务器处于1 Gbps连接上。

  • 使用ApacheHttpClient 4.1。3并尝试从获取状态代码: 如何从中提取状态代码(202,404等)?或者,如果在4.1.3中还有另一种方法可以做到这一点,那它是什么? 另外,我假设完美/良好的HTTP响应是,但也希望得到确认。提前谢谢!

  • Visual Studio代码的默认状态栏颜色是蓝色,我发现它非常分散注意力。我使用此扩展来更改颜色,但在更新后它停止工作。