我想在客户端呈现我的页面,以帮助减轻服务器负载并降低流量。我知道第一次调用服务器通常会导致服务器必须呈现所请求的页面,然后将该页面发送给用户。当用户与页面交互时,javascript接管路由,路由会将请求发送到服务器以获取特定视图,然后通过客户端上的javascript更新。
我在想是否存在这种方法,是否可行。
假设我想去地址:
www.example.com/about
是否有一种方法将/about
作为参数附加到服务器的html页面/ javascript代码(同样服务www.example.com/
)。当dom在客户端上准备就绪时,它会向服务器发送/about
数据的请求,该响应会更新客户端视图。这意味着完全跳过服务器端渲染。
还是我疯了?
答案 0 :(得分:1)
不,你不是疯了。这是大多数单页面应用程序(SPA)框架的方式,如AngularJS的工作方式。
例如,我通常为AngularJS配置Web服务器的方式是使用以下路由:
/pub/<relative_file_path>
只提供<relative_file_path>
指定的静态文件,例如所有JS,HTML部分和CSS。/api/<whatever>
是客户端通过AJAX实时访问的所有端点index.html
,这是一个静态文件,其中包含对JS,CSS和标记的引用的整个页面。因此,当您转到www.example.com/about
时,您将获得index.html
页面,该页面告诉浏览器下载整个应用程序的JS,其中包括客户端路由配置。应用程序启动后,它会看到该位置为www.example.com/about
,并说“我知道/about
,我会转到该页面!&#34;。
当然,通过&#34;转到那个页面&#34;,我的意思是&#34;获取该页面的部分HTML,并通过AJAX&#34;获取任何数据。没有可见的页面刷新/更改。