如何在更新网格中的值并重定向到登录页面时识别 session 超时问题。
我的应用程序(带有 extjs 的 java spring hibernate)
即我正在更新 extjs grid
记录,并在提交更改时,如果 session 过期,我需要识别该特定异常并重定向到登录页面。
我正在使用
// var proxy = new Ext.data.HttpProxy({
var store = new Ext.data.Store({
proxy: proxy,
reader: new Ext.data.JsonReader({})
});
提前致谢
最佳答案
没有足够的信息来编写确切的代码,但您想要执行以下操作:
- 确保您的网络服务在商店的 DataProxy 或 DataReader 实现识别为失败的超时时返回响应。发送适当的 HTTP 响应代码(例如 515 之类的唯一代码),或者将响应的 successProperty 设置为 false。如果您选择后者,则需要确保响应中也返回某种类型的错误代码,您可以检测到该错误代码以了解失败的原因。
- 在您的 Javascript 中,为您的商店添加“异常”事件的监听器。在监听器中执行 console.log(arguments) 以查看参数的样子;其中之一是原始 HTTP 响应,我相信另一个是 JSON 解码的响应数据(如果不是,您应该能够通过阅读器的 jsonData 属性检索它)。如果您的Web服务发送HTTP响应代码,请检查response.statusCode;如果它在 JSON 数据中,请检查那里。
- 在异常监听器中成功检测到 session 过期错误后,请添加代码以在遇到此情况时将 window.location.href 设置到登录页面。
关于java - 在 Extjs 中,在 Grid 中更新时,如果 session 超时如何重定向到登录页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4052534/