這裏是我的代碼:爲什麼多次執行Ajax post請求?
$(document).ready(function(){
$("#mainbutton").click(function(){
$("#ajaxform").submit(function(e){
var info = $(this).serialize();
$.ajax(
{
url : "userctrl",
type: "post",
data : info,
success:function(data, textStatus, jqXHR)
{
console.log("success");
$('.valid-error').html(data);
},
});
e.preventDefault()
});
$("#ajaxform").submit(); //Submit the form
});
});
和我的HTML
<form id="ajaxform">
<input type="hidden" name="action" value="submit"/>
<input type="text" placeholder="Name" name="name" id="name" /><span></span>
<input type="text" placeholder="Surname" name="surname" /><span></span>
<input type="text" placeholder="Address" name="address" /><span></span>
<p class="valid-error"></p>
<input id="mainbutton" class="mainbutton" type="button" value="trial"/>
</form>
執行這一要求多次取決於哪些字段被填滿。如果我填充兩個字段將被執行3次,如果我填充3個字段4次。這並非總是如此,但絕對是我的servlet中的doPost方法被多次調用......我只點擊一次提交按鈕!!!爲什麼?
每次點擊你要綁定一個新的提交事件 –
是的,但我點擊一次 – oronaparcali
林不知道你是怎麼檢查它,但我想你做錯了,並提防表格可以提交使用輸入或空格在某些情況下,沒有單擊按鈕,您的提交處理程序不會被稱爲 –