根据错误提示 "Uncaught (in promise) DOMException: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.",你遇到了一个错误,该错误表明在调用 setRequestHeader
方法时,XMLHttpRequest 对象的状态必须是已打开(OPENED)的状态。
解决此问题的方法是确保在调用 setRequestHeader
方法之前,XMLHttpRequest 对象已经打开并处于正确的状态。
以下是一个示例,展示如何将 token 添加到 XMLHttpRequest 请求的请求头中(包括中文注释):
var xhr = new XMLHttpRequest();
var url = "请求的URL";
var token = "你的token";
xhr.open("GET", url, true); // 打开 XMLHttpRequest 对象
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
// 请求成功,处理响应
xhr.setRequestHeader("Authorization", "Bearer " + token); // 设置请求头
xhr.send(); // 发送请求
} else {
// 请求失败,处理错误
}
}
};
在上述代码中,我们通过添加 xhr.onreadystatechange
事件处理程序来监听 XMLHttpRequest 对象的状态变化。当状态为 XMLHttpRequest.DONE
时,表示请求已完成。在这个状态下,我们可以设置请求头并发送请求。
请确保将 "请求的URL" 替换为你要发送请求的实际 URL,并将 "你的token" 替换为你的有效 token。
请注意,上述代码仅为示例,你需要根据你的实际情况进行适当的调整和集成。
如果你仍然遇到问题,请提供更多的代码和错误信息,以便我可以更好地帮助你解决问题。
标签:execute,DOMException,XMLHttpRequest,请求,setRequestHeader,xhr,token,OPENED From: https://www.cnblogs.com/yoona-lin/p/18103547