Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让应用程序完全AJAX化有什么缺点吗?_Ajax_Architecture - Fatal编程技术网

让应用程序完全AJAX化有什么缺点吗?

让应用程序完全AJAX化有什么缺点吗?,ajax,architecture,Ajax,Architecture,我正在处理行政申请 我在考虑让它完全AJAX-ed。基本上,只有一个URL,所有内容都将通过AJAX加载 这种方法有什么缺点吗?我会因为任何原因而错过重新加载整个页面吗 谢谢 是的 禁用javascript的用户无法使用它 无法为特定页面添加书签 搜索引擎可能会发现很难为你的网站编制索引 但是,有一些方法可以减轻/消除这些缺点,例如:性能下降,支持浏览器的历史API(pushState等) 我的首选方法是构建一个没有javascript的站点,然后添加javascript支持,这样链接将使用

我正在处理行政申请

我在考虑让它完全AJAX-ed。基本上,只有一个URL,所有内容都将通过AJAX加载

这种方法有什么缺点吗?我会因为任何原因而错过重新加载整个页面吗

谢谢

是的

  • 禁用javascript的用户无法使用它

  • 无法为特定页面添加书签

  • 搜索引擎可能会发现很难为你的网站编制索引

但是,有一些方法可以减轻/消除这些缺点,例如:性能下降,支持浏览器的历史API(pushState等)

我的首选方法是构建一个没有javascript的站点,然后添加javascript支持,这样链接将使用javascript重新加载页面的一部分,然后使用pushState和co.更改历史记录,以便浏览器后退按钮和书签再次工作

在纯HTML&服务器端网站之上构建AJAX的另一个优点是,该网站已经可以工作了,因此您可以逐渐添加AJAX,即使您尚未完全编程所有AJAX功能,该网站也可以继续工作



如果您使用的是RubyonRails框架,那么可以尝试使用MyGem。它可以帮助您以优雅的降级方式构建AJAX支持。

非常感谢您给出的全面答案。第3点并没有让我担心,因为网站无论如何都不会公开。基本上,我考虑100%AJAX方法的唯一原因是希望给用户类似dektop的体验,平滑的工作流程,而无需重新加载页面。根据您的经验,只需制作一个快速应用程序并将其托管在功能强大的服务器上,就可以抵消这一点吗?服务器的延迟可能是一个很大的因素(无论是在同一地区还是在世界的另一端)。如果加载时间小于0.1秒,则无所谓。还要注意,添加AJAX并不一定能消除延迟(因为您可能仍然在发送AJAX请求&获取AJAX响应)。有时,您可以通过预测性预加载资源来消除延迟。AJAX的另一个可能优势是自动刷新页面的某些部分(例如通知或收件箱计数)