頁面中的按鈕的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請求時一次點擊兩次提交的解決方案,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!