jquery ajax請求了兩次問題


頁面有一個請求form:

<form method="post" id="signin">
<label for="orderid">訂單編號</label>
<input id="oid" name="orderid" value="" title="orderid" tabindex="4" type="text">
</p>
<p>
<label for="username">用戶帳戶</label>
<input id="username" name="username" value="" title="username" tabindex="5" type="text">
</p>
<p>
<label for="sendStatus">發貨狀態</label>
<select id="sendStatus">
<option value="-1">請選擇</option>
<option value="0">未發送</option>
<option value="1">已發送</option>
</select>
</p>
<p>
<button type='submit' id='submit' onclick=showdatalist()>查詢</button>
</p>
</form>

 

JavaScript請求部分:

function showdatalist()
{
var username = $("#username").val();
var orderid = $("#oid").val();
var sendStatus = $("#sendStatus").val();
var data = {"username" : username, "orderid" : orderid, "sendStatus" : sendStatus, "type" : "0"};
$.ajax({
url:"<%=path%>" + "/****",
type : "post",
data : data,
async : true,
success : function(obj)
{
console.dir(obj);
if (obj.success == true)
{
if (obj.obj == null || obj.obj.length < 1)
{
$("#content").html("");
}
else
{
$("#content").html("");
var content= obj.obj ;
var p = "";
var start = 0;
for (i = 0; i < content.length; i++)
{
//組裝數據
}

}

}
}
});
}

 

控制台監測到兩次請求:

 

原因:

發生兩次提交的原因是在執行完ajax請求后,並沒有阻止submit的行為,所以解決方法有兩種:

1、不使用type為submit類型的按鈕,而是使用type是button的按鈕。

2、在showdatalist函數中,最后加一行return false;,即可阻止submit。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM