我正在做一个项目,在一些JS过滤应该如何实现和我想问你们一些关于这方面的意见之间存在一些争论。
今天,我们有了这个站点,它显示了一长串重复输入的数据,并且一些JS过滤对于用户导航来说是很好的。常见的东西:关键字、订单、日期、价格等。问题不是使用JS,这是显而易见的,而是数据的来源。一个人辩解说,应该使用HTML本身,JS应该对其进行解析,从而实现用户所需的过滤。另一个人辩解说,我们应该使用服务器中生成的JSON,并且JSON应该是数据的来源。
你们觉得这个怎么样?好处和坏处是什么?
作为最后一个要求,我希望您尽可能提供最丰富的信息,因为您的答案将用于公司中的所有人并供参考。(是的,这就是我们信任你的方式!)
发布于 2011-07-27 12:35:04
正确的操作是品味和系统架构以及效用的问题。
我会使用JS和JSON动态生成的页面--这些天我认为你可以放心地假设大多数浏览器都启用了Javascript --但是你可能需要为爬虫(GoogleBot,Bing,Ask等)做好准备,因为它们可能不会完全执行所有的JS,因此如果你确实找出了某种支持这些JS的例外,那么可能不会索引页面。
使用JS+JSON还意味着你可以让你的代码工作,这样对移动设备的支持就可以在客户端完成,而不需要work服务器创建任何特殊的东西。
将DOM操作作为另一种选择并不是我最好的选择,因为页面控制和布局的逻辑被分成两个位置--一部分在etc服务器上的视图控制器中,另一部分在JavaScript中--在我看来,最好将它放在一个地方,让视图控制器只生成JSON并服务于根页面等。
然而,这是一个品味问题,我不确定我是否能够说有一个正确和最好的解决方案。
发布于 2011-07-27 12:20:46
我认为如果用JSON传递数据,然后用javascript从JSON生成数据的表示、HTML或视图,就会干净得多。
这符合保持核心数据结构与视图分离的更经典的风格。通过这种方式,您可以生成所有类型的视图,而不必不断修改存储、访问和操作数据的方式。您甚至可以构建类和方法来在数据上开发一个干净的接口,该接口完全独立于数据的显示方式。
我看到的唯一问题是如果浏览器不支持javascript,而浏览器是想要的查看器。在这种情况下,您必须包含来自服务器的默认HTML版本,该版本显然不会被操作,并且JSON将被忽略。
中间的做法是在呈现的HTML中包含JSON和该数据的“默认”初始HTML视图。该视图很快就会出现,非JS浏览器可以看到有用的内容。但是,将来对视图的任何操作(例如排序)都会使用JSON数据,并从JSON数据生成一个新的干净视图。然后,不会从HTML视图中“解析”任何数据。
在较大的项目中,这也可以促进表示与数据操作的分离,以便不同的人可以创建HTML视图而不是操作数据(如排序)。
发布于 2011-07-27 12:30:31
我会对服务器进行多次ajax调用,并让它返回排序/过滤后的数据。如果你的服务器后端很快,那就不会很麻烦,你甚至可以在请求之间缓存数据。
如果您只有50-100个条目,那么将其全部发送到客户端并让javascript对其进行排序和过滤将是合理的。
帮助做出决定的一些考虑因素
答案是,这取决于你的情况。
https://stackoverflow.com/questions/6839353
复制相似问题