gpt4 book ai didi

javascript - 如何读取 setRequestHeader 上的错误?

转载 作者:行者123 更新时间:2023-11-30 16:25:18 26 4
gpt4 key购买 nike

我正在使用 xhr.setRequestHeader 在 jQuery 中使用 beforeSend 设置身份验证。代码是这样的:

beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Basic ' + btoa(app.username + ':' + app.password));
}

这里没什么特别的,但假设提供的密码不正确,那么我的身份验证失败了……如何捕获这部分的错误?

beforeSendxhr.setRequestHeader 似乎都没有回调函数,有没有人有解决办法或者写过相关的东西?

编辑:

这是剩下的代码

success: function(rows) {
// everything is fine here when I provide correct username/password
},
error: function(responseData, textStatus, errorThrown) {
console.warn(responseData);
console.warn(textStatus);
console.warn(errorThrown);
// nothing shows up in the console when I provide a bad username/password
}

编辑 2:

所以,XHR 永远不会失败,因为服务器端没有控件!验证成功与否,调用了,返回了4的readyState和200的status。如果没有错误显示,说明我不能显示它!

最佳答案

首先,xhr.setRequestHeader() 只是向请求添加一些 header 。它实际上还没有发送它,因此在您的其他 XHR 代码实际发送请求之前不会验证密码。因此,在您设置 header 时不会看到失败。

如果密码错误,XHR 响应/状态就是将错误反馈给您的地方。 XHR 调用将失败并且(取决于服务器端实现),您将获得指示错误的状态代码或指示错误的特定响应。

您可以看到带有 onreadystatechange 事件处理程序的响应。

如果您需要进一步的帮助,请将用于发送和处理此 ajax 调用的其余代码添加到您的问题中,以便我们可以提供更具体的建议。

关于javascript - 如何读取 setRequestHeader 上的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34206932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com