如何防止浏览器调用基本身份验证弹出窗口并使用Jquery处理401错误?
2022-08-30 05:11:34
我需要使用基本身份验证发送授权请求。我已经使用jquery成功地实现了这一点。但是,当我收到401错误时,基本身份验证浏览器弹出窗口被打开,并且不调用jquery ajax错误回调。
我需要使用基本身份验证发送授权请求。我已经使用jquery成功地实现了这一点。但是,当我收到401错误时,基本身份验证浏览器弹出窗口被打开,并且不调用jquery ajax错误回调。
我最近也遇到了这个问题。由于您无法更改浏览器在发生(基本或摘要式身份验证)时显示弹出窗口的默认行为,因此有两种方法可以解决此问题:401
401
200
将用于授权的方法更改为标头中的自定义值。浏览器将显示“基本”和“摘要”的弹出窗口。您必须在客户端和服务器上更改此设置。
headers : {
"Authorization" : "BasicCustom"
}
另请查看此内容,了解将 jQuery 与 Basic Auth 配合使用的示例。
返回通用 400 状态代码,然后处理该客户端。
或者,您可以保留 401,而不返回 WWW-Authenticate 标头,这实际上是浏览器通过身份验证弹出窗口响应的内容。如果缺少 WWW 身份验证标头,则浏览器不会提示输入凭据。