gpt4 book ai didi

javascript - jQuery serialize() 总是空的

转载 作者:行者123 更新时间:2023-11-30 10:42:39 24 4
gpt4 key购买 nike

我无法让这个脚本运行。每次我发送文件时,脚本都需要执行一个 ajax 请求并将文件发送到服务器,但是,序列化总是发送空字符串。

我的Javascript

$('#upload-button input:file').change(function() {
$('#upload-text').text('Sending file...');

$.ajax({
type: "GET",
url: "?url=images/send",
data: $('#image-upload').serialize(),

success: function(response) {
if(response.error) {
$('#upload-text').text(response.error);
} else if(response.success) {
$('#upload-text').text('Image send');
}
},
});
})

我的 HTML

<form name="image-upload" id="image-upload" action="?url=imagens/enviar" method="post" enctype="multipart/form-data">
<input type="file" name="selected-image" id="upload-hidden" value="" />
</form>

当我选择一个文件时,alert($('#image-upload').serialize()); 的结果:

// EMPTY //

来自 alert($('#image-upload input:file').attr('value')) 的结果:

ponte-vecchio.jpg

最佳答案

如果您想提交文件,则必须使用 iframe-“解决方法”描述 here ,例如

关于你的问题,为什么序列化总是空的,看看jquery的来源.根据此正则表达式测试输入字段的类型

 /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i

如您所见,"file"类型不是其中的一部分,因此 jquery 不会序列化此类输入字段。

关于javascript - jQuery serialize() 总是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10261888/

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