gpt4 book ai didi

jquery 文件上传不适用于 jquery 3.x

转载 作者:行者123 更新时间:2023-12-01 08:42:04 26 4
gpt4 key购买 nike

我的脚本在 jQuery 1.x 和 2.x 上运行良好,但在 jQuery 3.x 上不起作用

imageInput.fileupload();
var jqXHR = imageInput.fileupload('send', {
files: files,
formData: $.extend({csrfmiddlewaretoken: csrftoken}, attachmentData),
url: {{ id }}_settings.url.upload_attachment,
})
.success(function (result, textStatus, jqXHR) {
$.each(result.files, function (index, file) {
console.log('success');
});
})
.error(function (jqXHR, textStatus, errorThrown) {
console.log('error occurred.');
});

FF 浏览器提示找不到 successerror 函数。

jQuery.Deferred exception: imageInput.fileupload(...).success is not a function 
....
undefined

这是错误消息。感谢您的帮助。

最佳答案

jQuerys successerror 最初是 $.ajax 的一部分,如

$.ajax({
success : function() {},
error : function() {}
})

但是当 $.ajax starter 返回 Deferreds 时,它更改为 donefail

$.ajax({}).done().fail()

这引起了一些困惑,因此还添加了名为 successerror 的相同方法,因此可以这样做

$.ajax({}).success().error()

在 jQuery 3.x 版本中决定删除成功错误

https://jquery.com/upgrade-guide/3.0/#breaking-change-special-case-deferred-methods-removed-from-jquery-ajax

您可以将 donefail 直接替换为代码中的 successerror Fileupload 插件在底层使用 jQuery 的 $.ajax。
jQuery 的 Deferreds 现在符合 Promise A+ 标准,因此也可以使用 thencatch

关于jquery 文件上传不适用于 jquery 3.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45748941/

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