【问题标题】:How to speed up Ajax "add to cart" updates in Virtuemart shop?如何加快 Virtuemart 商店中的 Ajax“添加到购物车”更新?
【发布时间】:2014-07-28 21:56:26
【问题描述】:

我正在使用 Viruemart v.2.6.6 开发一个由 Joomla 驱动的网上商店

一切运行良好,设计几乎完成,但我发现基于 Ajax 的“添加到购物车”功能存在一个小问题。

每当有人点击“添加到购物车”时,一个模态弹出窗口会立即弹出显示信息: “产品成功加入购物车...继续购物?去购物车吗?”但我可以在迷你购物车中看到,在处理 Ajax 调用并将产品更新到购物车之前实际上需要 3-4 秒。

问题在于,有时单击添加到购物车按钮和实际购物车更新之间的延迟时间过长,以至于如果客户随后单击“转到购物车”链接,购物车将是空的。..

我的问题是,有没有人有优化这种 Ajax 调用的经验,尤其是 Virtuemart? 据我所知,在 Virtuemart 中,添加到购物车表单由触发 Ajax 调用的“js-recalculate”类控制。

【问题讨论】:

    标签: jquery ajax joomla virtuemart


    【解决方案1】:

    好吧,在这种情况下,“优化”是一个顺序问题。从您的描述中我可以理解,当有人单击“添加到购物车”按钮时,会弹出一个简单的确认窗口。只有当用户确认添加到购物车操作时,才会触发 AJAX 调用。

    我建议您使用以下方案:

    1. 当使用点击添加到购物车按钮时,立即进行闪避呼叫!
    2. 不要忘记显示“正在加载...”图像或文本,并且始终这样做。
    3. 仅当收到响应(产品已添加到购物车)时,才会显示继续/停留提醒。

    这是一种标准行为,经过优化,对客户友好。

    【讨论】:

    • 不,我解释得不够好。当有人单击“添加到购物车”链接时,就会启动 ajax 调用。单击“添加到购物车”链接后会显示弹出窗口。问题只是 Ajax 调用需要很长时间才能完成,有时长达 3-5 秒。
    • @GeniusDesign,好吧,在这种情况下,这取决于您的连接和功能,这会向购物车添加东西。在大多数情况下,连接是一个问题。一般来说,您的 Internet 访问速度可能非常快,但对某些站点的请求需要一些时间。这也取决于您的托管服务提供商 - 它可能会很慢。但无论如何,我建议研究将产品添加到购物车的功能。除了更改您的提供者之外,这是您唯一可以优化的东西:-)
    • 我猜你是对的,谢谢。不过我想知道,也许我可以添加一个小脚本来在 ajax 调用开始时显示“请稍候,将产品添加到购物车”,然后在 Ajax 调用完成时显示“产品已成功添加到购物车”。跨度>
    猜你喜欢
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 2020-01-14
    相关资源
    最近更新 更多