2015-11-29 55 views
-2

我的阿賈克斯不工作。我有一個表單,我通過ajax提交給我的php文件,以更新我的數據庫。它正確地更新數據庫,但是我的ajax一定有問題。問題是它總是調用我的.fail函數,即使成功並且它沒有重新設置輸入字段的值。請看看:提交表單與阿賈克斯不工作

$(".myForm").submit(function(e) { 
e.preventDefault(); 
var url = "myurl.php"; 
$.ajax({ 
     type: "POST", 
     url: url, 
     data: $(this).serialize() 
     }).done(function() { 
     alert("Success"); 
     $('#email').value=''; 
     }).fail(function() { 
      alert("Fail!"); 
     }); 
    }); 

它給了我一個失敗警報,但我的數據庫正在更新。我做錯了什麼?

編輯: 我的PHP返回結果,我編輯了我的代碼。 我的AJAX看起來現在這個樣子,但我仍然得到同樣的錯誤

$(".myForm").submit(function(e) { 
e.preventDefault(); 
var url = "http://fullyawaken.com/website/database/updatedatabase.php"; 
$.ajax({ 
     type: "POST", 
     url: url, 
     data: $(this).serialize(), 
     statusCode: { 
     200: function(){ 
      alert("Success!"); 
      $('#email').val(""); 
        } 
      } 
     }).fail(function() { 
      $('#email').val(""); 
      alert("Fail!"); 
     }); 
    }); 
+0

jQuery中的一個錯誤,這使得狀態201創建了一個錯誤。使用statusCode:而不是完成: – Eyeball

+0

你是否從服務器返回任何東西,或者它只是超時和失敗 – adeneo

+0

也'$('#email')。value ='''是一個錯誤 – adeneo

回答

1

嘗試使用這個語法


$.ajax({ 
    type: 'post', 
    url: url, 
    data: $(this).serialize(), 
    success: function (data) { 
    console.log(data) 
    }, 
    error: function (err) { 
    console.log(err); 
    }, 

});