gpt4 book ai didi

javascript - 使用 formData 上传文件返回未定义的文件数组

转载 作者:行者123 更新时间:2023-11-28 05:10:56 25 4
gpt4 key购买 nike

我从 print_r($_POST) 中得到了未定义,它在同一个 php 页面上发布。

Array ( [file] => undefined )

已编辑 - 添加了调用 upload_banner 函数的部分

HTML

<form enctype="multipart/form-data" id="banner_form" class="form-horizontal" role="form" action="">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input id="file" name="file" type="file" class="filestyle" accept="image/jpeg,image/gif,image/png">
</form>

JS

$('#submit_btn').click(function(e){
e.preventDefault();

var date = document.getElementById('datepicker').value;
var title = document.getElementById('title').value;
var content = document.getElementsByClassName('note-editable')[0];

if(date == "" || title == "") {
alert("Please fill in the required fields");
return false;
}
else {

var cfm = confirm("Confirm Submit Changes?");
if(cfm === true)
{

var editarea = content.innerHTML;

$.post ("functions/add_upcoming.php",{date: date,title: title,sm_content: editarea},
function(data) {
});

upload_banner();
}
else
{
return false;
}
}
});




function upload_banner() {
var form_data = new FormData($('#banner_form')[0]);
form_data.append('file', $('input[type=file]')[0].files[0]);

$.ajax({
url: "upcomingevents.php?p=73",
contentType: false,
processData: false,
dataType: 'json',
data: form_data,
type: 'post',
success: function(data) { },
contentType: false,
processData: false
});
}

json 作为数据类型导致我从 php 端返回数组,没有发布额外的代码导致我在文件上传部分已经遇到问题

PHP

if(isset($_POST['file'])) {
print_r($_POST);
exit();
}

我在这里做错了什么吗?

最佳答案

FormData 设置不正确,应该是:

var form_data = new FormData( );
form_data.append('file', $('input[type=file]')[0].files[0]);

您确定ajax引用的url正确吗?

当您执行post而不是get时,为什么会有查询参数(?p=73) >.

最后,尝试通过打印响应

成功:function(data) {alert(JSON.stringify(data))},

关于javascript - 使用 formData 上传文件返回未定义的文件数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41388135/

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