gpt4 book ai didi

php - FormData 为空(在 PHP 中)

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

我一直在使用它通过 AJAX 和 jQuery 处理表单

$("#uploadBtn").click(function()
{
var formData = new FormData($('form')[0]); //--FormData here, problem line
$.ajax({
url: 'resources/ajax/ajax_upload_video.php',
type: 'POST',
xhr: function()
{
xhr = $.ajaxSettings.xhr();
if (xhr.upload)
{
xhr.upload.addEventListener('progress', progressHandlingFunction, false);
}
return xhr;
},
success: function(msg)
{
log(msg);
},
data: formData,
cache: false,
contentType: false,
processData: false
});
});

一直运行良好。我在页面上添加了第二个表单(搜索在顶部, uploader 在底部)

我知道 $('form')[0] 将抓取页面上的第一个表单,因此我很自然地将我的 javascript 更改为 $('form')[1] 。当我在其上执行 console.log 时,它是正确的形式。

当我点击上传按钮时,但我的 php 文件显示没有发布任何内容。为了简单起见,我的 php 文件是这样的:

<?php
var_dump($_POST);
?>

我只得到一个空数组。我什至给了我想要的表单一个 ID,并以 $('#uploadForm') 的方式调用它。

我有 1 个多选文件输入、一个隐藏字段和一个文本输入字段。

我对 FormData 对象做错了什么?

一方面不是,我一直在使用 WAMP 在本地开发这个页面,然后将其移动到我们在线的 CentOS 服务器上。这可能是 PHP 设置与我的本地环境不一样吗?我想不出 PHP 设置与 POST 有什么关系

上传表单

<form id="videoUploadForm" method="post" enctype="multipart/form-data" class="upload-form modal-edit-form">
<div class="modal-body">
<p>
<div align="center" id="fileSelect">
<input type="hidden" value="video" name="mediaType" id="mediaType" />
<input type="hidden" value="<?php echo $_GET['reelId']; ?>" name="reelId" id="reelId" />
<input type="file" name="videos[]" id="videos" accept="video/mp4" multiple />
</div>
<br>
</p>
<p>
<div id="dropbox">
<ul class="hide" id="filelist">
</ul>
<div align="center" id="nofiles">Select some file to begin</div>
</div><br>
</p>

<p>
<hr>
<label>Search Tags <small>[at least two tags separate by comma]</small></label>
<input type="text" class="span5" name="searchTags" id="searchTags" disabled />
</p>
<hr>
<p align="center">
<img src="resources/img/loader.gif" class="hide" id="loader" />
<button type="button" class="btn btn-info" name="uploadBtn" id="uploadBtn" disabled><i class="icon-circle-arrow-up icon-white"></i> Begin Upload</button>
<div id="successfulUpload" class="alert alert-success hide">
<b>The videos have been successfully uploaded.</b><br/>
</div>
</p>
</div>
</form>

最佳答案

尝试以这种方式访问​​它:

var form = document.getElementById('form-id');
var formData = new FormData(form);

来自this page在 FormData 上。

关于php - FormData 为空(在 PHP 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16349587/

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