在服务器端脚本末尾使用ajax将脚本重新加载到div中

发布于 2024-11-19 15:34:06 字数 635 浏览 0 评论 0原文

我有一个购物车,每个页面顶部的 minicart.php 添加使用 ajax 加载 (POST) 发送到它的产品并更新购物车会话。

在一页上,代码下方的另一个脚本 cart_list.php 过滤购物车金额以查找有效/无效促销。如果发现无效促销,则会将其从购物车会话中删除。

我在加载 cart_list.php 时重新加载 minicart.php 但它没有得到更改。如果是竞赛问题,我还尝试添加超时。

("#cart").load("/cart_list.php", {amountchange:amount,key:key}, function() {
        setTimeout(function() {
            $("#minicart").load("/minicart.php", {calledsolo:"true"});
            floatingBox();
        }, 500);
    });

如果我将 cart_list.php 放在代码中的 mini_cart.php 之上,它可以工作,但我不想这样做,我也想了解为什么,因为 mini_cart.php 无论如何都应该独立重新加载。

我该如何解决这个问题?

I have a shopping cart where minicart.php at the top of each page adds products sent to it with ajax load (POST) and update cart-sessions.

On one page another script further down the code, cart_list.php filters the cart amount for valid/invalid promotions. If it finds an invalid promotion it will delete it from the cart-session.

I reload minicart.php when cart_list.php is loaded but it doesent get the change. I also tried adding a timeout if it were a raceproblem.

("#cart").load("/cart_list.php", {amountchange:amount,key:key}, function() {
        setTimeout(function() {
            $("#minicart").load("/minicart.php", {calledsolo:"true"});
            floatingBox();
        }, 500);
    });

If I put cart_list.php above mini_cart.php in the code it works but I prefer not to do that it possible, also I would like to understand why since mini_cart.php should reload indepentently anyway.

How can I solve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

强辩 2024-11-26 15:34:06
$("#minicart").load("/minicart.php", {calledsolo:"true"});

此调用不会等到完成。所以 floatingBox(); 在上述 ajax 调用完成之前被调用。尝试以下操作:

("#cart").load("/cart_list.php", {amountchange:amount,key:key}, function() {
            $("#minicart").load("/minicart.php", {calledsolo:"true"}, function(){
                floatingBox();
            });
    });
$("#minicart").load("/minicart.php", {calledsolo:"true"});

this call does not wait until it completes. so floatingBox(); got called before the above ajax-call completes. try following:

("#cart").load("/cart_list.php", {amountchange:amount,key:key}, function() {
            $("#minicart").load("/minicart.php", {calledsolo:"true"}, function(){
                floatingBox();
            });
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文