如果用户已登录,则以下代码会成功向GET
文件执行timeout.ashx
请求:
function StillHereClicked() {
var loadedResult;
$.get("/timeout.ashx", function (loadedResult) {
if (loadedResult == 'Extended') {
// stay logged in (code removed for brevity)
} else {
LogOut();
}
}, 'text');
}
但是,如果用户的会话因任何原因而被终止,GET
请求会在浏览器中引发401 Unauthorized
异常。
任何人都可以帮助我抓住可能出现的任何错误(401,404等),并在每种情况下只注销用户吗?如果timeout.ashx
返回任何而不是值为'Extended'
的字符串,则应该注销用户。
我试图遵循.get() documentation,但我无法弄清楚它们似乎正在处理多个回调的语法,而其他示例似乎使AJAX和MVC添加到顶部的问题变得复杂。
答案 0 :(得分:0)
最终计算出来,尽管大多数在线使用弃用代码的例子...... .ajax()具备所需的所有功能。
function StillHereClicked() {
$.ajax({
type: "GET",
url: "/timeout.ashx",
dataType: "text",
cache: false
})
.done(function (data) {
if (data == "Extended") {
// stay logged in (code removed for brevity)
} else {
LogOut();
}
})
.fail(function (xhr, textStatus) {
LogOut();
});
}