是为大约100条记录中的每一条呈现一个表单更快,还是用ajax加载单个表单更快
Is it faster to render a form for each of ~100 records or load individual forms with ajax?
我有一个Comment模型,它有_many Replies。我将在任何给定的页面上有大约100条评论,每条评论都应该有写回复的选项。这要求每条评论都有自己的回复表单。
以下哪种方法在我的服务器上更容易?
1.)页面加载时,每个Comment加载一个表单,并立即用javascript隐藏每个表单。每个Comment还有一个按钮,单击该按钮会显示表单。当用户单击其他任何位置时,表单将再次隐藏。
2.)每个Comment都以一个按钮和一个空div开头。当用户单击该按钮时,空div将通过ajax填充表单。当用户单击其他任何位置时,div将再次清空。
我所说的形式很简单。它应该是这样的:
<%= form_for([@comment, @reply], remote: true ) do |f| %>
<%= f.text_area :text %>
<%= f.submit "Post" %>
<% end %>
任何意见都将不胜感激。
-
无论如何AJAX更好。您的访问者不应该等待所有的评论加载后才查看页面。只加载主页面内容,例如文章,然后通过AJAX加载评论部分。
-
有100个隐藏的空表单是非常糟糕的设计。我建议根据需要放置甚至创建表单,即当用户单击"说"按钮时。请注意,每次用户发布内容时,带有默认"提交"按钮的"经典"asp表单都会重新加载所有页面。我建议只需要一组控件和按钮"保存",就可以使用AJAX上传新的评论/答案,并在响应时更新页面中唯一必要的部分。
-
点击"其他任何地方"会让人感到困惑"保存"/"取消"按钮提供了更好的可用性。
相关文章:
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- jquery mobile上多个页面上的一个表单
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- 循环遍历包含另一个表单的表单
- jquery从2个json字符串构建一个复选框表单
- 为网站表单创建一个专业的日历
- 如何在javascript转换编码中将一个动态值从一个表单添加到另一个页面
- 我确实有一个表单,如果用户输入了输入,它应该检查否定或空的输入框,并抛出一条警告消息
- 在表单中创建一个黑名单过滤器以避免某些单词
- 从一个iframe到另一个ifame的过帐表单-IE
- 从表单中动态生成一个字符串,传递给通过AJAX加载的PHP文件
- 页面上的2个表单带有JS验证-其中一个抛出电子邮件验证错误
- 需要一个用于AJAX的Javascript库,其中包含多部分/表单数据
- 当阻止Enter键提交AJAX表单时,关注下一个输入是't工作
- 一个具有两个图像按钮的表单在只能按下一个按钮的情况下发送两个按钮值
- 在另一个可观察量完成后触发第二个表单提交单击
- 两个表单 - 一个提交按钮
- 多表单一个ajax函数