gpt4 book ai didi

javascript - 使用 Kendo UI 上传控件将请求 header 添加到 XmlHttpRequest

转载 作者:行者123 更新时间:2023-11-29 10:14:40 25 4
gpt4 key购买 nike

我正在尝试使用 Telerik 提供的代码将请求 header 添加到 XHR,但出现以下错误。

“0x800a139e - JavaScript 运行时错误:InvalidStateError”

这是代码

$(document).ready(function () {
$("#file").kendoUpload({
multiple: false,
async: {
saveUrl: "save",
},
upload: onUpload,

});
});

function onUpload(e) {
var xhr = e.XMLHttpRequest;
if (xhr) {
xhr.addEventListener("readystatechange", function (e) {
if (xhr.readyState == 1 /* OPENED */) {
xhr.setRequestHeader("X-Foo", "Bar");
}
});
}
}

最佳答案

事实证明,Internet Explorer 使用 readyState 1 触发 readystatechange 两次,第二次执行处理程序导致错误。作为当前情况的解决方法,您可以命名已执行的处理程序并在第一次执行后解除绑定(bind)。

function onUpload(e) {
var xhr = e.XMLHttpRequest;
if (xhr) {
xhr.addEventListener("readystatechange", function onUploadReady(e) {
if (xhr.readyState == 1 /* OPENED */) {
xhr.setRequestHeader("X-Foo", "Bar");
xhr.removeEventListener("readystatechange", onUploadReady);
}
});
}
}

关于javascript - 使用 Kendo UI 上传控件将请求 header 添加到 XmlHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25085121/

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