【发布时间】:2014-08-12 07:58:27
【问题描述】:
我已经尝试了很长时间,现在我没有更多的想法,请任何人帮助我。
我只是想在将商品添加到购物车后重新加载当前页面,我尝试了通过计数、承诺然后和其他的愚蠢方式,但都失败了。
问题是......在商品添加到购物车之前页面已经重新加载......! 以下是我的示例:-
$("#Button").click(function () {
var CurrentURL = window.location.href;
var SelectedProduct = $('.SelectedProduct').length;
$('.SelectedProduct').each(function () {
$.ajax({
url: "/ShoppingCart/AddToCart",
data: { id: $(this).attr('id')},
datatype: "json"
});
--SelectedProduct
if (SelectedProduct === 0) {
window.location.href = CurrentURL;
$('#CartListContent').slideDown()
}
});
});
$("#Button").click(function () {
var CurrentURL = window.location.href;
var promise = $('.SelectedProduct').each(function () {
$.ajax({
url: "/ShoppingCart/AddToCart",
data: { id: $(this).attr('id')},
datatype: "json"
});
promise.done(function () {
window.location.href = CurrentURL;
$('#CartListContent').slideDown()
});
});
});
}
});
【问题讨论】:
-
为什么不用成功回调?
-
因为我在 ajax 之前有一个 each{}...!如果我使用成功回调,只有第一个项目可以添加到购物车...!
标签: javascript jquery ajax foreach promise