我正处于应用程序设计的关键决策点。它是一个 ASP.NET Web 应用程序,它使用 REST 来请求有关各种产品的信息。某些产品具有不同的 ProductID,具体取决于它们的属性/变体。例如,用户可能对 Rogaine 感兴趣。关于 Rogain 的 REST 请求可能会返回包含多个变体的响应 - 1 个月的供应量、3 个月的供应量或 4 个月的供应量。这些变体中的每一个都有不同的 ProductID、不同的正常价格、不同的销售价格和许多不同的属性。每个产品都有一组不同的“功能”、不同的图像等。每个产品的属性数量可能非常多。
在大多数情况下,只有几个产品变体。有时半打,有时一打或两个。在这些情况下,JSON 可以轻松处理我的要求。
但以连衣裙为例。它可能有几十种颜色可供选择。它也有 6 种不同的尺寸可供选择。您不希望在它们自己的页面上显示这些中的每一个。在单个页面上显示此产品并呈现这些尺寸和颜色选项供用户选择更加用户友好。也许他们想订购红色的小尺寸。
在上面的示例中,有近 100 种选项组合。在这一点上,我认为 JSON 对我来说是一个不切实际的选择。对于每个独特的组合,都有多个图像链接(每个图像以不同的颜色显示产品)。每个产品都有标价、常规价格和销售价格,节省的金额。每个都有运输属性。每个都有自己的功能列表,可以是每个产品的文本段落。
好的,我的意思是 - 这是要填充到 JSON 字符串中的大量数据,并且当颜色或大小发生更改时,查找详细信息会有延迟。
我喜欢亚马逊提供选择的方式。这是这种情况的链接:
http://www.amazon.com/American-Apparel-Jersey-Chemise-Small-Navy/dp/B003ILSHQ2/
我查看了源页面,没有看到他们在客户端存储每个产品的详细信息的位置。如果您将鼠标悬停在每个颜色样本上,您会看到页面上的所有细节都发生了变化。价格、运费、大图、功能。几乎一切都在改变。
我偶尔会看到“正在加载...”指示器,但在大多数情况下,它是如此之快,以至于您看不到任何客户端/服务器通信的迹象。
他们如何在不完全重新加载页面并且不将这些信息存储在客户端上的情况下做到这一点?他们用的是什么技术,有人知道吗?
相信我,每次更改产品变体时发送另一个 REST 请求的往返行程太贵了。在我的第一个 REST 响应中,我已经拥有每个产品的所有数据。数据不在我的服务器上或我的控制范围内,我真的不想将其保存在我的服务器上。
由于我已经拥有所有数据,因此我想将其存储起来,以便可以像亚马逊一样使用它,但我想将其交给客户。使用 JSON 字符串将是完美的,在大多数情况下,我可以......但不是有效/高效。
有没有办法索引 JSON 字符串以使其更快地处理大量数据?JSON 是不是太多了?我还可以在 JQuery/Javascript 中使用哪些其他选项?