2016-07-11 112 views
-3

當前我正在使用​​來驗證用戶。當它過期時,它會強制用戶離開。所以,它應該會在ajax中提示用戶輸入錯誤信息,但它會跳過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(); 
}) 
+0

哪裏是你的代碼在服務器端? 'url:「/ ABC/AddST /」',.嘗試將console.log數據寫入'success'和/或'error'函數以知道您正在收到的錯誤。 – graceth

+0

,因爲你是ajax代碼語法本身是不正確的。 – graceth

+0

使用@ choz的回答。 console.log「成功和/錯誤」數據回調​​以瞭解您正在收到的響應 – graceth

回答

0

你就錯了。 $.ajax返回jqXHR對象。它沒有方法,如successerror。 jqXHR只有以下承諾方法;

  • done(function(data,textStatus,jqXHR){});
  • 失敗(函數(jqXHR,textStatus,errorThrown){});
  • always(function(data | jqXHR,textStatus,jqXHR | errorThrown){ }); (函數(data,textStatus,jqXHR){},函數( 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"); 
    } 
})