我點擊一個簡單的添加到購物車按鈕添加一個項目到購物車,如果該項目已經存在,它會給出錯誤item already
。一切順利,但是當我第二次點擊按鈕時,我必須關閉警告框兩次,第三次我點擊,我必須關閉警報框三次等等......這一直持續到我刷新頁面,並同樣的事情從頭alert()框在jquery中出現多次
jQuery代碼開始:
function add()
{
$(document).ready(function()
{
$('#addtocart').submit(function() {
//$('#add-button').prop('disabled',true);
var user = $('#user').val();
var pid = $('#pid').val();
$.ajax({
type: "post",
url: "/devilmaycry/register?action=addtocart",
data: {pid:pid ,user:user},
success:
function()
{
alert("Item has been added to cart");
},
error:
function(xhr)
{
if (xhr.responseText=="already present")
alert("item is already present in cart");
else if(xhr.responseText=="error")
alert("item cannot be added , server error");
}
});
return false;
//e.preventDefault();
});
});
}
servlet代碼:
if(n.equals("addtocart"))
{
String user = req.getParameter("user");
int pid = Integer.parseInt(req.getParameter("pid"));
k=o.addintocart(user,pid);
if(k==2)
{
res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
pw.write("already present");
}
else if(k==0)
{
res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
pw.write("error");
}
}
錯誤或成功的BEHA vior相同
檢查你的add方法是否被多次調用?最有可能的錯誤是你配置事件觸發添加的地方 –
thnks man,得到了ans ...我使用'onclick()'和'$(' addtocart')。同時提交(function()',我的不好 –