2017-05-20 81 views
0

我試圖讓我的表單優雅地失敗,但沒有得到錯誤函數,無論放在哪裏都可以工作。一切工作正常,但如果我強制出現錯誤(例如給出錯誤的var名稱),我看到控制檯中的錯誤,但我的警報不會觸發。當Ajax表單失敗時無法獲取顯示的錯誤消息

這裏是我的代碼:

$.ajax({ 
    async: false, 
    cache: false, 
    type: 'post', 

    url: 'dostuff/234', 

    data: { 
     email: fEmail, 
     firstname: fFirstname, 
     lastname: fLastname, 
     zipcode: fZipcode, 
     optout: fOptout 
    }, 
    dataType: "text", 
    error: function(xhr, status, error) { 
     alert(status); 
     alert(xhr.responseText); 
    }, 
    success: function (response) { 
     overlay.appendTo(document.body); 
     setTimeout(function(){ finishUp(); }, 3000);  
    } 
}); 
+0

似乎成功函數被調用,因爲它接收到正確的responsecode,你確認? –

+0

是的,我確認。但即使當我知道我結束了一個錯誤並且控制檯確認了,我也無法調用錯誤函數。 –

+0

將控制檯錯誤添加到您的問題,我認爲你誤會了...... –

回答

0

如果這些都正確定義,你應該能夠得到錯誤味精或成功。

data: { 
     email: "fEmail", 
     firstname: "fFirstname", 
     lastname: "fLastname", 
     zipcode: "fZipcode", 
     optout: "fOptout" 
    }, 

var fFirstname = 'test'; 
 

 

 
$.ajax({ 
 
    async: false, 
 
    cache: false, 
 
    type: 'post', 
 

 
    url: 'dostuff/234', 
 

 
    data: { 
 
     email: "fEmail", 
 
     firstname: "fFirstname", 
 
     lastname: "fLastname", 
 
     zipcode: "fZipcode", 
 
     optout: "fOptout" 
 
    }, 
 
    dataType: "text", 
 
    error: function(xhr, status, error) { 
 
    alert(status); 
 
    alert(xhr.responseText); 
 
    }, 
 
    success: function(response) { 
 
    overlay.appendTo(document.body); 
 
    setTimeout(function() { 
 
     finishUp(); 
 
    }, 3000); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

他們被正確定義,但我無法獲得錯誤函數調用時,我故意發送它的壞信息。控制檯顯示錯誤,當我這樣做時,表單不起作用,但錯誤功能不運行。 –

相關問題