我尝试使链接触发一个javascript函数,该函数触发一个ajax调用来删除一个项目。
像这样:
<a class="delete" href="@item.Product.Id">(x)</a>
点击叉号会显示要删除的产品的id。href 属性存在的唯一原因是携带该值。
$(document).ready(function () {
$('.delete').click(function (e) {
e.preventDefault();
var id = $(this).attr("href");
deleteItem(id);
return false;
});
});
Ajax 调用:根据要求:
function deleteItem(id) {
$.ajax({
url: "/Shoppingcart/RemoveItem",
type: "POST",
data: "id=" + id,
cache: false,
error: function (xhr, status, error) {
console.log(xhr, status, error);
},
success: function () {
$.ajax({
url: "/Shoppingcart/Index",
type: "GET",
cache: false,
error: function (xhr, status, error) {
console.log(xhr, status, error);
},
success: function (result) {
success(result);
}
});
}
});
}
成功功能用于获取购物车的更新版本。这实际上工作得很好。但是,我在循环的中途得到了一个奇怪的页面刷新。
我点击链接。
页面刷新并且该项目未被删除。
我再次点击链接。
页面未刷新。
该项目被删除。
为什么我必须单击两次,我该怎么做才能解决这个问题?