如果HTTP基本验证失败,中止脚本加载



我正在加载一个跨源脚本,需要使用HTTP基本访问身份验证的用户名/密码。

我不关心用户名/密码的安全性。我的代码:

<script src="http://user:password@example.com/script.js"></script>

这在大多数情况下工作得很好。但是,如果凭据不正确,则会弹出一个身份验证对话框。

如果凭据错误,我想中止脚本的加载,而不是向用户显示身份验证对话框。理想情况下,还会触发一个JavaScript函数,提醒出错了。

这可能吗?怎么做?

我认为这应该落在服务器端的配置上。

与其发送WWW-Authenticate头的HTTP 401 Not Authorized,服务器应该响应一个不同的状态码,可能是403 Forbidden

问题是,当401发送到浏览器时,浏览器将其解释为登录要求,提示用户。如果它接收到另一个错误状态(即403),它将简单地出错(这可以被JavaScript函数捕获)

最新更新