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

jQuery $ .ajax statusCode其他

秦学林
2023-03-14
问题内容

在jquery Ajax调用中,我当前正在处理statusCode分别为200和304。但是我还定义了“错误”,以捕获可能返回的任何错误。

如果有相关的验证消息,我们将返回状态码400-错误的请求。

然后,在属于我定义的statusCode“ 400”函数之前,属于“错误”函数。这意味着有两个动作发生。

理想情况下,我不想定义“错误”和“成功”,而仅定义“ statusCode”,但是我需要的是拥有一个“
Else”,这样我就不必声明仅存在2-3个I的每个statusCode了。想要以不同的方式处理。

$.ajax({
        type: 'POST',
        contentType: "application/json",
        url: "../API/Employees.svc/" + EmployeeId + "/Company/" + CompanyId,
        data: jsonString,
        statusCode: {
            200: function () { //Employee_Company saved now updated

                hideLoading();
                ShowAlertMessage(SaveSuccessful, 2000);
                $('#ManageEmployee').dialog('close');

            },
            304: function () { //Nothing to save to Employee_Company

                hideLoading();
                $('#ManageEmployee').dialog('close');

                if (NothingToChange_Employee) {
                    ShowAlertMessage(NothingToUpdate, 2000);
                } else {
                    ShowAlertMessage(SaveSuccessful, 2000);
                }
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            AjaxError(XMLHttpRequest, textStatus, errorThrown);
        }
    });

问题答案:

由于总是触发“ complete”事件,因此您可以从那里简单地获取状态代码,而忽略成功和错误功能

complete: function(e, xhr, settings){
    if(e.status === 200){

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

    }else{

    }
}


 类似资料:
  • jQuery 设置宽度和高度 宽度操作: $(selector).height(); //不带参数表示获取高度 $(selector).height(200); //带参数表示设置高度 宽度操作: $(selector).width(); //不带参数表示获取宽度 $(selector).width(200); //带参数表示设置高宽度 问题:j

  • 问题内容: 我需要在购物车中构建一个功能,该功能在发生某些更改(例如,产品被删除)时使用AJAX从服务器中检索模板的更新副本。我无法修改服务器端代码,也无法修改使购物车首先运行的JavaScript。(我知道这并不理想,但事实就是如此) 我想做的是每次购物车更新时都运行自己的JavaScript。 我想知道是否可以侦听AJAX调用 ,并在每次生成代码时运行我的代码。 问题答案: 要跟踪HTML文档

  • 我希望,如果我选择“mammals”,动物选择选项只显示值为1的选项data-animal_class。 我知道如何获得哺乳动物值,但我不知道如何使用过滤器 这是我的代码:

  • 问题内容: 您如何使用JavaScript(特别是jQuery)进行自动刷新? 我知道这种方法,但这真的是一个好习惯吗?有没有更好的方法? 问题答案: 另一个修改: 与此不同的是,ajax调用为1之后,它将等待10秒。因此,刷新之间的时间间隔实际上是10秒+ ajax调用的长度。这样做的好处是,如果您的服务器花费的时间超过10秒,则不会同时发生两个(最终很多)同时的AJAX调用。 另外,如果服务器

  • 问题内容: 我希望这个问题很简单。 我有一个像这样的普通盒子 我可以获取选定的值(通过使用)和选定项的显示值(通过使用)。 但是,如何在标签中像附加值一样存储呢?我希望能够做类似的事情并获取属性的值(在示例中为3.2)。 问题答案: HTML标记 码 通过使用HTML5中的数据属性,您可以以语法上有效的方式向元素添加额外的数据,该方式也可以从jQuery轻松访问。

  • 问题内容: 我正在使用jQuery将文件上传到服务器: 我想将其他参数与文件一起发送。可能吗?如果是,怎么办? 谢谢! 问题答案: 要发送其他参数,您可以将其附加到如下所示: