2013-03-06 162 views
0

我通過jQuery將數據從表單發佈到PHP頁面。jQuery發佈錯誤

以下是代碼。讓我知道你是否需要從php或html頁面看到代碼。

$("#createQuestionForm").submit(function(e) { 
    e.preventDefault(); 
    alert("check1"); 
    $.post("InsertNewQuestion.php", $("#createQuestionForm").serialize()).done(function(data) { 
     alert("check2"); 
    }); 
}); 

我可以看到第一個警報(「check1」),但問題是我看不到第二個警報(「check2」)。問題是什麼?

------------------------------------------ AFTER EDIT-- -------------------------------------------------- ---------------------

我發現了這個問題:Uncaught TypeError:Object#has no method'done',how to fix this?

+2

當你調試時會發生什麼?瀏覽器中是否有控制檯錯誤?是否成功創建了「InsertNewQuestion.php」?對該請求的迴應是什麼? – David 2013-03-06 16:10:55

+0

我不認爲在php文件中有任何問題,因爲當我使用html文件將數據直接提交給沒有JavaScript作爲中間人的PHP時,沒有錯誤。 – 2013-03-06 16:12:58

+0

檢查瀏覽器工具的網絡選項卡,返回什麼? – jeroen 2013-03-06 16:16:35

回答

0

我發現了這個問題。我的jQuery文件不是最新的。我更新了文件,它工作!

1

你爲什麼不re-read the $.post() documentation

$.post("InsertNewQuestion.php", $("#createQuestionForm").serialize(), function(data) { 
    alert("check2"); 
}, 'json'); 

更多關於你的文檔網站上的觀點和$.post()選項。

+0

我已經閱讀了jQuery網站上的文檔,那是我獲得代碼的地方。我無法使用他們提供的信息解決問題,這就是爲什麼我在這裏發佈了一個問題。 – 2013-03-06 16:16:34

+0

以我在這個答案中所寫的方式使用它。此示例需要以下參數:url,data,success_callback,data_type-output。 – 2013-03-06 16:26:44

+0

唯一的區別是'json'。問題在於它刷新頁面。如果我需要解析數據,我將只使用parseJSON。 – 2013-03-06 16:27:50