我正在使用HTTP基本访问身份验证加载需要用户名/密码的跨源脚本。
我不关心用户名/密码的安全性。我的代码:
<script src="http://user:password@example.com/script.js"></script>
在大多数情况下这很好用。但是,如果凭据不正确,则会弹出身份验证对话框。
如果凭据错误而不是向用户显示身份验证对话框,我想中止加载脚本。理想情况下,JavaScript函数也会被触发,以警告某些内容出错。
这是可能的,它将如何完成?
答案 0 :(得分:0)
我认为这将落在服务器端配置上。
服务器不应使用HTTP 401 Not Authorized
标头发送WWW-Authenticate
,而应使用不同的状态代码进行响应,可能是403 Forbidden
问题在于,当401
被发送到浏览器时,浏览器将其解释为登录要求,提示用户。如果它收到另一个错误状态(即403
),它将只是错误输出(可以被JavaScript函数捕获)