|
|
1
2
我认为最重要的需求是刷新需求。如果在几次AJAX更新之后我点击refresh,那么我刚才看到的页面应该就是到达的页面。如果页面由于任何原因恢复到以前的状态,则URL是错误的。如果由于任何原因,您的AJAX数据将使浏览器中的URL无效,那么您不应该使用AJAX来获取该数据。 当然也有例外,对于比上一个AJAX请求更新的数据。但这显然不是我要说的。实时聊天屏幕可以接收最后一个AJAX请求和刷新之间的更新。没什么大不了的。我说的是逻辑内容和描述它的URL应该总是同步的。 |
|
|
2
2
完整的个人意见 前nihil ,我的经验法则是改变 不超过1个“面板”单元或页面的33%,以较小者为准 . 这样做的基础是,用户应该能够清楚地识别出之前的页面状态与新的状态相关——如果你突然被传送到你右边的大楼里,你会有什么感觉?对你可怜的用户要温柔。 对于移动和插入一页数据的好处,还有一些严重的技术问题,我认为这有点像AJAX反模式。如果您要这样做,AJAX提供了什么好处? 您的具体问题似乎取决于这样一个假设,即从AJAX请求返回的响应不是“仅仅”数据。从关注点分离的角度来看,这对我来说是错误的:我希望一个页面拥有它已经需要的所有布局信息,AJAX响应本身只提供哑数据/标记,JS事件处理程序创建了将两者缝合在一起的请求,MVC风格。在这方面,我认为,是的,你做得太多了。 (所谓面板,我指的是一个逻辑设计元素——菜单、功能区、项目元数据面板等) 编辑:现在我想起来了,SO的用户配置文件页面打破了我的经验法则 |
|
|
3
0
根据您是否希望用户能够链接到当前页面/为其添加书签等,您可能需要导航用户的浏览器。 这对于GMail等应用程序来说并不重要,它们永远不会刷新页面。 对于我自己来说,我倾向于认为在导航到逻辑上不同的地方时导航浏览器是一个很好的做法。一个人的简介与他们的信息列表。 抱歉,如果这是模糊的,那是相当主观的:-) |
|
|
4
0
对于这样的事情,一个很好的指导原则是问问自己,“这个动态应用程序是‘内容’,还是内容内容?”您的用例听起来像是将随每个用户而改变的应用程序内容。这可能是阿贾克斯最好的地方,但是有了一切,不只是一个锤子总是很好的。你不想在一页上做太多。例如,如果一个部分坏了,整个事情可能会让用户沮丧。 无论您在查看实际的页面内容或任何信息是静态的地方,我强烈建议避免使用JavaScript,因为它有被搜索引擎看不见的风险。确保链接到此类信息的任何内容都是可爬网的。实现这一点的第一步是在服务器端而不是浏览器端动态生成。 |
|
|
5
0
如果您使用Smarty模板生成页面,只需将模板分割成多个有意义的部分—news.tpl、email.tpl、weather.tpl—然后让master.tpl生成页面结构并调用子模板。 然后,如果您使用由超时触发的AJAX调用刷新新闻,您可以调用服务器,将必要的数据塞进news.tpl中,并将结果返回到您使用master.tpl设置的news div中。这样,您的新闻布局总是遵循news.tpl的模式。(如果使用JavaScript操作格式化位或在文档加载时设置事件处理,则需要在AJAX调用后附加后处理以触发。) 你还没有真正弄清楚你想在这里替换的东西的类型,我的初步反应是,如果一个事件触发页面的多个部分同时更新,这表明你可能应该将这些部分合并到一个单独的显示中。 服务器端完成了多少格式化,而客户端使用JavaScript完成了多少格式化?如果可能的话,我会说服务器端格式化,这样你就有了反映你对显示布局和逻辑的讨论的代码。客户端格式化可以用于更多基于界面的问题-排序表中的行,并使用:奇数和:偶数选择器交替行颜色,显示和隐藏div以创建“选项卡式显示”,而不必点击服务器,因为数据不会仅仅因为选择新的选项卡而改变,诸如此类。 最后,AJAX是单向的。如果您的web页面是数据库上的一个视图,那么这并不是一个大问题,但是使用AJAX操作代替常规的导航是一个糟糕的主意。 |
|
|
6
0
如果您习惯性地使用AJAX调用替换页面的全部内容,我同意您有问题。然而,在我看来,您正试图仔细考虑您的设计的含义,并尽可能避免annakata所称的“AJAX反模式” 我的规则稍微简单一点:只要页面上保留大量的上下文(如左边的菜单、标题、各种控件、页面标题等),我就可以用AJAX调用替换几乎任何内容。也就是说,我从来没有遇到过像您这样有AJAX生成代码的页面。 不过,我有一个问题:难道不能对state进行编码,这样您就可以替换示例中的一些div而不是全部div吗?如果没有,你想过这样做吗? |
|
|
James Williams · 如何在单击按钮时刷新div内容 4 年前 |
|
|
Mehmet · javascript执行了多个 4 年前 |
|
|
Shijil · 尝试在Jquery PHP搜索代码中添加选择标记功能 4 年前 |
|
|
Parker · 如何使表格行的单元格项加粗n秒? 4 年前 |
|
|
Chris J. · ajax获取查找数据属性值的请求 4 年前 |
|
|
Pedro F · Ajax调用后脚本运行不正常 4 年前 |