jQuery移动和篮子处理:那里有一个很好的方法吗?

时间:2012-07-17 07:33:26

标签: jquery-mobile

如果你谷歌搜索“jQuery移动购物篮”,你会发现大量关于“jQuery mobile”的书籍和按钮:“添加到购物篮”......

这是我如何做到的,它只是告诉我这不是好方法(=糟糕的用户互动):

MP =手机

  1. MP:创建本地篮子(JavaScript类)
  2. MP:下载包含所有产品的整个页面,但隐藏(=不同页面)。
  3. MP:选择产品时,只更改页面
  4. MP:每次添加产品,make和AJAX调用,以便所有内容都保存在服务器端
  5. MP:每次删除产品,make和AJAX调用,以便所有内容保留在服务器端
  6. 服务器端:将所有内容保留在会话中,直到它过期或MP寄存器上的用户为止。如果是这样,请在数据库中添加包含所有信息的新记录。
  7. 最大的问题是添加或删除时。有时,只是进行Ajax调用非常慢,这是不可接受的:您经常添加许多产品,因此您可能需要等待每次调用。根本不是用户友好的。

    我的(未来)网站以这种方式运作完美,我不知道移动版本会如此成问题。

    这可能是什么“移动版”解决方案?

2 个答案:

答案 0 :(得分:0)

您可以在全局变量中存储篮子中的任何内容。因为在使用普通jQuery-mobile过渡时(仅加载data-role="page"),页面之间不会删除变量,所以可以使用此变量来存储项目。我认为JSON对象最容易用于存储“上笼”项目的所有属性。

您必须确保您的变量不会被某个rel="external"转换删除。也许您网站上的备份可以为这些案例提供一些保护。

答案 1 :(得分:0)

可能的实现可以在Javascript中将basket结构作为全局变量,并将其与服务器端结构同步。

MP上页面上的JS代码只应添加/删除本地basket结构。

然后可能有一个计时器以定期的时间间隔使用Ajax调用将本地basket同步到服务器basket

这样你就不会在每次添加/删除时调用(慢!!!)Ajax调用,而是批量增加到服务器的增量。