繁体   English   中英

设计决策-Javascript数组或http处理程序

[英]Design Decision - Javascript array or http handler

我正在构建一个允许用户选择颜色和大小的网页。 一旦选择了它们,我需要执行查找以查看库存是否存在,并基于此更新一些UI元素。

我当时想将所有单一产品数据放入多维JavaScript数组(任何页面实例只有10至50条记录)并围绕它编写一些客户端例程,这是出于两个原因的方法。 一是因为它可以使用户界面保持快速,二是可以最大程度地减少对服务器的回调。 我担心这种解决方案的是代码气味。

作为一种替代方案,我正在考虑使用一种使用HTTP处理程序和JSON的更AJAX纯粹方法,或者可能是两者结合使用。 我的问题是,您对使用ASP.Net 2.0堆栈解决此问题的最佳解决方案有何想法?

[编辑]

我还应该提到此页面将在SharePoint环境中运行。

假设数据是静态的,我将投票选择选项1。 在JavaScript数组中存储和检索数据元素相对简单,并且完全在您的控件之内。 调用服务器会引入很多可能的故障点。 此外,我认为将数据存储在页面内将需要较少的整体代码,并且对JavaScript的基本了解将更易于理解。

我反对Ajax执行此类任务,并投票(并实施)第一个选择。

据我了解,如果JS部分是由服务器端编写的,则不会创建Code气味

从用户的角度来看,Ajax是无线浏览的体验杀手,因为任何小故障或错误服务都将失败或仅将交互延长20倍!

在我的网站上,我实现的记录甚至超过您的记录,并且用户喜欢它。 由于我的一些用户使用可上网的咖啡厅或可疑的酒店wifi,因此无法正常使用。

此外,Ajax使您的服务器与客户之间的交互代码更加复杂,即IMO,这是Web编程中最棘手的部分。

到目前为止,我会选择您的第二个选择。 只要在这种情况下AJAX调用不会执行长时间运行的过程,它就应该非常快。

我处理的应用程序在AJAX和HttpHandler上有很多功能,我们的调用执行速度很快。 只需确保最小化响应中返回的JSON大小即可。

选择第二个选项。 如果涉及的项目很少,则AJAX调用应该表现良好。 您将使代码远离客户端,希望避免客户端脚本可能引起的任何基于浏览器的问题,并拥有更干净的应用程序。

编辑

还应考虑用户可以修改客户端脚本。 如果没有其他验证发生在用户的选择中,则这可能允许他们配置断货的产品。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM