Ajax 错误函数不起作用

Ajax error function not working

本文关键字:不起作用 函数 错误 Ajax      更新时间:2023-09-26

目前我正在使用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();
})

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

  • done(function( data, textStatus, jqXHR ) {});
  • fail(function( jqXHR, textStatus, errorThrow ) {});
  • always(function( data|jqXHR, textStatus, jqXHR|errorThrow ) {});
  • then(function( data, textStatus, jqXHR ) {}, function(jqXHR, textStatus, errorThrow ) {});

你可能想这样做,

$.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");
    }
})