我使用XMLHttpRequest和基本身份验证来访问应用程序接口。密码是临时的,由其他请求生成,因此一段时间后就会过期。
但浏览器(至少是Firefox)继续使用旧的,失败并显示登录弹出窗口。如果我对带有X-Requested-by和错误密码的请求返回403来抑制弹出窗口,mozilla就不会尝试使用新密码(firebug在请求中显示新密码,服务器会收到旧密码)。
通过在用户名中随机添加“salt”(并在服务器端删除它)可以避免这个问题,但是否有更好的方法强制XMLHttpRequest使用提供的密码而不是缓存?