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