服务端有一个很常见的场景就是访问鉴权,比如匿名用户访问某URL,理想的情况下是服务端会检查用户是否有访问该页面的权限,如果有的话,就会在服务端渲染数据,然后返回给用户,如果没有的话,就会做重定向等操作,将用户重定向到登录页面等。
对于单页面应用(Single Page Application),整个业务逻辑都是用Javascript驱动的,比如AngularJS, 比如ExtJS,那么这种场景,有什么优雅的方式让JS和后端结合来做鉴权? 因为在这种情况下,前端和后端的通信往往都是通过SOAP/JSON/XML等来通信的,重定向是不是在这种场合就用不上了?
推荐两种方式
在ajax函数上再做一次外包装,对服务器返回的错误状态和错误信息做统一处理,并提示错误信息给用户,如果是因为需要登录授权,则js控制跳转到登录页面,并带上当前页面的url用于登录后回跳,如果没有错误才最终执行业务逻辑。
如果使用jquery,则可配置全局的ajaxSuccess事件,然后逻辑同方式一,做错误信息处理和登录跳转处理。本人没用过该方式,想了解的自行百度。
另外我也是新入门的spa开发者,欢迎一起分享经验:
http://segmentfault.com/q/101...