如果用户已经通过服务器进行了身份验证,我对您将如何确定使用 XMLHttpRequest 感兴趣?我可以发送我的请求并返回数据,但如果我刷新页面并再次请求数据,即使会话超时尚未过期,我的登录表单也会触发。
有什么想法吗?
谢谢克里斯
如果用户已经通过服务器进行了身份验证,我对您将如何确定使用 XMLHttpRequest 感兴趣?我可以发送我的请求并返回数据,但如果我刷新页面并再次请求数据,即使会话超时尚未过期,我的登录表单也会触发。
有什么想法吗?
谢谢克里斯
这里有几个选项。通常,服务会以登录表单响应任何未经身份验证的请求。因此,如果您正在发出一个获取 JSON 的 AJAX 请求,您只需查看响应的内容类型 ala xhr.getResponseHeader('Content-Type')
。经过身份验证的响应应该类似于application/json
,而未经身份验证的响应将是text/html
(或类似的东西。)
但是...您还可以查看document.cookie
用户是否定义了会话 cookie。虽然这不是一个防弹检查(cookie 可能无效,或者服务器可能有额外的检查仍然可能使请求失败),但这并不是一个不合理的检查。