頁面中的按鈕的type是submit的: <input type="submit" value="Create" id="submit" />
ajax的請求,在JQuery中是:
$(function () { $('#submit').click(function () { var createGenreForm = $('#createGenreForm'); if (createGenreForm.valid()) { var obj = { Name: $('#Name').val(), Description: $('#Description').val() }; var jsonSerialized = JSON.stringify(obj); $.ajax({ type: "POST", url: createGenreForm.attr('action'), dataType: "json", contentType: "application/json; charset=utf-8", data: jsonSerialized, success: function (result) { alert(result.Message); }, error: function (error) { alert("There was an error posting the data to the server: " + error.responseText); } }); } }); });
發生兩次提交的原因是在執行完ajax請求後,並沒有阻止submit的行為,所以解決方法有兩種:
1、不使用type為submit類型的按鈕,而是使用type是button的按鈕。
2、在$('#submit').click函數中,最後加一行return false;,即可阻止submit。
一點說明:為什麼在標題中要嵌入英文?原因是為了能夠讓國外的網友能查詢到這篇文章。平常在Google上查資料的時候,經常參考國外網友的博客,幫助我解決了很多問題,所以我也想讓他們能夠參考我寫的內容。當然文中我不可能全部譯為英文,所以我盡量把代碼粘全,靠代碼說話吧。
以上所述是小編給大家介紹的按鈕的Ajax請求時一次點擊兩次提交的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!