gpt4 book ai didi

javascript - 如何通过ajax post序列化上传

转载 作者:行者123 更新时间:2023-12-02 16:57:32 25 4
gpt4 key购买 nike

我有表单上传:

 <form method="post" id="edit_form" onsubmit="return edit(this.id);" enctype="multipart/form-data">
<input type="file" name="thumb" />
<input type="submit" value="Upload" />
</form>

和 JavaScript 函数:

function edit(id){
httplocal = location.href;
var jqxhr = $.post(httplocal,$("#"+id).serialize(), function(data) {
if(data.status == 1){
$("#success").show();
}else {
$("#error").show();
}
}, "json")
return false;
}

在 php 中我检查:

if ($_FILES['thumb']['error'] != UPLOAD_ERR_NO_FILE) {
code upload here...
}

但表单为空$_FILES['thumb']null。对不起我的英语。

最佳答案

您不需要序列化表单。相反,您应该发送 FormData 类的实例。

        $("form").submit(function(event) {
event.preventDefault();

var data = new FormData($(this)[0]);

$.ajax({
// Note: to access both $_POST and $_FILES you should set these to false
processData : false,
contentType : false,

url : "/php-script.php",
data : data,
success : function(response){
console.log(response);
}
});
});

这是使用 jquery 通过 AJAX 发送文件的一种非常常见的技术。

关于javascript - 如何通过ajax post序列化上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26054853/

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