【问题标题】:Custom Shopping Cart自定义购物车
【发布时间】:2016-07-29 07:57:39
【问题描述】:

我目前正在尝试使用 JQuery 为客户创建自己的购物车。我只是想知道为自定义购物车存储信息的最佳方式是否是使用 cookie?

我有一个产品页面,它通过 JQuery 将信息添加到 Cookie,然后是一个结帐页面,该页面从 cookie 中获取信息并将其显示在结帐页面上。

这是解决方法吗,有更好的方法吗?

任何帮助将不胜感激!

【问题讨论】:

  • 我怀疑这可能应该被关闭为 Too Broad :请参阅“如何询问...”stackoverflow.com/help/how-to-ask - 但是,您的选择是服务器端(数据库、会话)或客户端(cookie、本地存储);服务器端更有意义,因为无论如何您都将从那里加载产品数据 - 您可能只会保存每个购物车行的产品 ID 和数量(可能是一些折扣信息等)。
  • 如果你不得不问这种过于宽泛的问题,那么你可能根本不应该自己实现这个,而是使用现有且经过验证的解决方案......

标签: javascript php jquery html cookies


【解决方案1】:

在我看来,最好保存购物卡的是服务器端:

每次有人添加产品时都会发送一个 AJAX 请求并将其存储(如果记录或使用会话则为帐户)。

它有点重,但更安全,更人性化,如果有人在购物而没有时间在他的电脑上结账,他可以抓住他的手机登录并使用同一个购物车结账。

就您对请求的了解而言,AJAX 并不难。 jQuery 提供了一个 AJAX 函数来发送请求,你应该从这个文档开始。

AJAX 请求只不过是对页面的调用,但不是同步然后将页面显示给用户,而是异步的,并且只返回一个状态和(在大多数情况下)一个 JSON 对象作为响应,如果有任何错误或类似的事情,请说明请求如何。后端不会很重,因此请求将足够快以使用户流畅。

jQuery 提供错误或成功回调,让您可以轻松管理警告用户或更新购物车预览,而无需重新加载任何页面或其他东西。

【讨论】:

  • 我也更喜欢那个。然而,我在 AJAX 方面的经验并不完全符合要求。它会适应 JQuery 的响应能力吗?您是否知道任何可以在这方面帮助我的教程?
【解决方案2】:

Cookie 也可以,但 LocalStorage 是在客户端存储购物车相关信息的方式

例子

// Store
localStorage.setItem("lastname", "Smith");

//Get
localStorage.getItem("lastname");

//Remove
localStorage.removeItem("lastname");

【讨论】:

    猜你喜欢
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    相关资源
    最近更新 更多