项目中遇到的问题

官网:技术栈:node+express+ejs
对node服务端渲染的理解

服务端渲染意味着浏览器发出的请求都是经过后端完成数据和页面的整合,而后将完整的html返给浏览器,有利于seo。html

项目中是以node做为中间层,将从java后端请求到的数据,在node层作好服务端渲染后,给到浏览器。java

其实也就是浏览器请求的url,到达node的路由层,路由层触发node请求转发到java端获取到数据,在node端将数据注入到ejs的模板,而后将完整的html返回给浏览器。node

用户登陆后的token如何存放?

注册,登陆不须要在请求成功后渲染页面,因此不须要经过node作转发请求,直接使用ajax请求java后台便可完成。ajax

问题:express

但用户登陆后的token须要在以后的每一次的接口请求中都有,就出现了token如何存放?一开始将token存储在localstorage中,但发现其他须要node转发的请求,在node端没法获取到存储在window对象中的localstorage。后端

解决方案:浏览器

1.将登陆也作node请求转发,就能够将token的信息存储在node内存中,其他须要node转发的请求,在node端就能够拿到存储的token,但须要注意存储在node端,意味着每个登陆用户的token都得是有惟一标识的,否则会被覆盖,因此能够将token存储在node 的session中cookie

2.将token直接存储在浏览器端的cookie中,每次请求header中会自动将cookie信息带上,在node转发请求时能够直接在router的mreq中获取到session

相关文章
相关标签/搜索