首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于使用JS过滤内容的意见

关于使用JS过滤内容的意见
EN

Stack Overflow用户
提问于 2011-07-27 12:13:23
回答 3查看 53关注 0票数 2

我正在做一个项目,在一些JS过滤应该如何实现和我想问你们一些关于这方面的意见之间存在一些争论。

今天,我们有了这个站点,它显示了一长串重复输入的数据,并且一些JS过滤对于用户导航来说是很好的。常见的东西:关键字、订单、日期、价格等。问题不是使用JS,这是显而易见的,而是数据的来源。一个人辩解说,应该使用HTML本身,JS应该对其进行解析,从而实现用户所需的过滤。另一个人辩解说,我们应该使用服务器中生成的JSON,并且JSON应该是数据的来源。

你们觉得这个怎么样?好处和坏处是什么?

作为最后一个要求,我希望您尽可能提供最丰富的信息,因为您的答案将用于公司中的所有人并供参考。(是的,这就是我们信任你的方式!)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-27 12:35:04

正确的操作是品味和系统架构以及效用的问题。

我会使用JS和JSON动态生成的页面--这些天我认为你可以放心地假设大多数浏览器都启用了Javascript --但是你可能需要为爬虫(GoogleBot,Bing,Ask等)做好准备,因为它们可能不会完全执行所有的JS,因此如果你确实找出了某种支持这些JS的例外,那么可能不会索引页面。

使用JS+JSON还意味着你可以让你的代码工作,这样对移动设备的支持就可以在客户端完成,而不需要work服务器创建任何特殊的东西。

将DOM操作作为另一种选择并不是我最好的选择,因为页面控制和布局的逻辑被分成两个位置--一部分在etc服务器上的视图控制器中,另一部分在JavaScript中--在我看来,最好将它放在一个地方,让视图控制器只生成JSON并服务于根页面等。

然而,这是一个品味问题,我不确定我是否能够说有一个正确和最好的解决方案。

票数 1
EN

Stack Overflow用户

发布于 2011-07-27 12:20:46

我认为如果用JSON传递数据,然后用javascript从JSON生成数据的表示、HTML或视图,就会干净得多。

这符合保持核心数据结构与视图分离的更经典的风格。通过这种方式,您可以生成所有类型的视图,而不必不断修改存储、访问和操作数据的方式。您甚至可以构建类和方法来在数据上开发一个干净的接口,该接口完全独立于数据的显示方式。

我看到的唯一问题是如果浏览器不支持javascript,而浏览器是想要的查看器。在这种情况下,您必须包含来自服务器的默认HTML版本,该版本显然不会被操作,并且JSON将被忽略。

中间的做法是在呈现的HTML中包含JSON和该数据的“默认”初始HTML视图。该视图很快就会出现,非JS浏览器可以看到有用的内容。但是,将来对视图的任何操作(例如排序)都会使用JSON数据,并从JSON数据生成一个新的干净视图。然后,不会从HTML视图中“解析”任何数据。

在较大的项目中,这也可以促进表示与数据操作的分离,以便不同的人可以创建HTML视图而不是操作数据(如排序)。

票数 1
EN

Stack Overflow用户

发布于 2011-07-27 12:30:31

我会对服务器进行多次ajax调用,并让它返回排序/过滤后的数据。如果你的服务器后端很快,那就不会很麻烦,你甚至可以在请求之间缓存数据。

如果您只有50-100个条目,那么将其全部发送到客户端并让javascript对其进行排序和过滤将是合理的。

帮助做出决定的一些考虑因素

  • 的信息是否敏感且独特?(在我的第一点中,这是对缓存的空洞和好处)
  • ,最常见的请求是什么,你对此进行了优化吗?
  • ,有多少数据?(几十行,几百行,上千行,millions)?
  • Does你的站点必须关闭JavaScript吗?(支持较旧的浏览器?)
  • 您的开发团队在前端还是后端做这件事更舒服?

答案是,这取决于你的情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6839353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档