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