gpt4 book ai didi

jquery - 使用 jquery-file-upload 和 send 方法,为什么错误回调中的参数未定义?

转载 作者:行者123 更新时间:2023-12-01 00:26:59 24 4
gpt4 key购买 nike

我正在使用jquery file upload它就像一个魅力。但是当我在没有任何文件的情况下调用发送方法时出现错误。我正在使用 send 方法,它允许我异步提交文件。关于doc (ctrl-f send) 据说该方法返回一个 jqXHR 对象,稍后可用于回调,例如 fail 回调。

当我使用 chrome 调试器进行调试时,我可以看到回调 fail 被调用,但所有参数 (jqXHR, textStatus, errorThrown) 都是 undefined。所以我在控制台中收到此错误:undefined undefined undefined

我做了这个jsfiddle在您可以看到错误的地方,只需单击按钮通过 fileupload send api 发送,您就会在控制台中看到错误(之前通过 F12 打开它)。

为什么参数未定义?我认为这是一个错误...

这是 JavaScript :

$(document).ready(function () {
var filesList = []
var elem = $("form")
file_upload = elem.fileupload({
autoUpload: false,
fileInput: $("input:file"),
}).on("fileuploadadd", function (e, data) {
filesList.push(data.files[0])
});

$("button").click(function () {
// fix
if (filesList.length > 0) {
file_upload.fileupload(
'send',
{
files: filesList
}
)
.fail(function (jqXHR, textStatus, errorThrown) {
console.error(jqXHR, textStatus, errorThrown);
})
}
})
});

编辑:我想我需要在尝试上传文件之前检查文件的数量。错误函数被调用,但是当我检查调试器时,我没有看到任何对服务器的请求。所以我猜这是一个错误,因为不应该调用失败回调。

最佳答案

我认为问题在于,即使您的文件列表为空,您也会调用 send 方法。

您无法访问 jqXHR 属性,因为没有触发任何 AJAX 请求。

如果您根据列表的长度添加控件,则仅当 AJAX 请求发生错误时才会调用错误回调,因此您将能够检索有关错误的信息。

关于jquery - 使用 jquery-file-upload 和 send 方法,为什么错误回调中的参数未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31789869/

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