我需要使用摘要身份验证发送授权请求。我已经使用jquery成功实现了这一点。但是,当出现 401错误时,摘要身份验证浏览器弹出窗口已打开,并且没有调用jquery ajax错误回调。
答案 0 :(得分:0)
将服务器响应更改为不返回401。而是返回200代码,并在jQuery客户端中进行处理。 将用于授权的方法更改为标头中的自定义值。浏览器将显示“基本”和“摘要”的弹出窗口。您必须在客户端和服务器上都进行更改。
headers : {
"Authorization" : "BasicCustom"
}
答案 1 :(得分:0)
“对于这个问题,我只想知道我是否使用摘要式身份验证,如何防止浏览器弹出。”
不幸的是,这是不可能的。对于所有Ajax请求事件(loadstart
,load
,loadend
,progress
,error
,abort
,timeout
)处理程序和事件处理程序onreadystatechange
,只有loadstart
在浏览器弹出摘要之前被触发(实际上甚至在服务器检索到请求之前就被触发)。
因此,从浏览器端JavaScript的角度来看,摘要摘要弹出窗口之前不会进行任何调用,这意味着我们无法采取任何措施来阻止弹出窗口。