Ajax错误功能无法正常工作

时间:2016-07-11 03:36:33

标签: javascript jquery ajax

目前我正在使用FormAuthentication来验证用户。当它过期时,它将强制用户退出。因此,它应该会在ajax中提示用户输入错误消息,但它会跳过ajax函数。

这是我的代码:

$('#AddSalesTeamForm').submit(function (e) {
    e.preventDefault();
    $.ajax({
                    url: "/ABC/AddST/",
                    data: {
                        "Username": $("#username").val(),
                        "FullName": $("#fullName").val()
                    },
                    type: "POST"
                })
                    .success(function (data) {
                        swal({
                            title: "Done!",
                            text: "Successfully added!",
                            type: "success"
                        },
                        function () {
                            window.location.href = '/ABC/Index';
                        });
                    })
                    .error(function (data) {
                        swal("Oops", "We couldn't connect to the server!", "error");
                    });
    e.preventDefault();
})

1 个答案:

答案 0 :(得分:0)

你做错了。 $.ajax会返回jqXHR个对象。它没有successerror等方法。 jqXHR只有以下承诺方法;

  • done(function(data,textStatus,jqXHR){});
  • 失败(函数(jqXHR,textStatus,errorThrown){});
  • always(function(data | jqXHR,textStatus,jqXHR | errorThrown){ });
  • 然后(function(data,textStatus,jqXHR){},function( jqXHR,textStatus,errorThrown){});

您可能希望这样做,

$.ajax({
    url: "/ABC/AddST/",
    data: {
        "Username": $("#username").val(),
        "FullName": $("#fullName").val()
    },
    type: "POST",
    success: function(data) {
        // do something
    },
    error: function(data) {
        swal("Oops", "We couldn't connect to the server!", "error");
    }
})