在HTML/JS请求服务器时处理302状态代码
Handle 302 status code upon HTML/JS request to server?
我正在使用Require JS和Orace JET
当会话超时时,我们如何处理服务器返回的302状态代码或任何其他状态代码。
在这种情况下,它可以被配置为捕获它并将用户重定向到登录页面吗?
RequireJS无法看到状态代码302。浏览器就是这样工作的:浏览器将看到302并自动执行下一个HTTP请求。RequireJS不会知道有重定向。
任何错误的HTTP状态代码(500、400等(都将导致模块加载失败,并调用onError
。
这是我的解决方案(由于运气好,它可以工作(。把它当作一种灵感。当我的应用程序中的会话到期时,请求将使用302转发到登录页面,正如您所期望的那样。有两种主要类型的请求可能发生:
- REST API调用(通过XMLHttpRequest(
- 用户在页面上进行的导航
对于#2来说,302没有问题。用户只需重定向到登录页面。
对于#1,我可以以某种方式检测到它(有一定的可能性(,因为登录页面位于不支持CORS的不同域。XMLHttpRequest请求将简单地失败,readyState等于0,statusText等于"error"(因为浏览器将阻止XMLHttpRequest进入不同的域(。我在所有REST API调用上都有一个"侦听器"(拦截器(,每当一些调用以0 readyState和"error"statusText失败时,就意味着会话可能过期。
当然,这不是一个解决方案,也不能在任何地方使用。只是一个想法:(
相关文章:
- AngularJS&Google可视化-使用状态更改处理程序(Google API)在HTML页面上查看$sco
- 在基于Strophe.js的聊天应用程序中处理状态
- 如何处理 React / Flux 组件中的状态转换
- 处理角度.js承诺错误状态
- 如何处理需要子组件状态的Meteor数据
- 如何在React应用程序中处理权限检查(Redux中的状态维护)
- React.js-通过事件处理程序更改所有者组件的状态
- 如何在 AngularJS 中同时处理 DOM 操作和状态更改
- 反应.js - 处理哑儿童状态的模式
- 使用 ajaxError 全局处理程序显示 HTTP 状态代码 401 详细信息
- 尝试在状态“root.loaded.saved”中处理事件“成为无效”
- 在 Angular.js 中更改视图时处理$scope状态和值的正确方法是什么?
- 将承诺置于待处理状态
- 在 JavaScript 中的事件处理中获取对象的状态
- 什么'是在AngularJS中处理应用程序状态和事件广播的最佳实践
- 在尝试管理和访问不同组件和处理程序方法中的状态时,我可以使用RxJS与Redux/context吗
- 无法使用节点预处理程序重建串行端口:404状态代码下载64位nw.lib
- 我如何在React JS中处理状态错误
- 如何使用jquery处理状态代码307重定向
- 如何处理状态代码未处理的 ajax 错误