Php 类型错误:';追加';对未使用$.post()方法实现接口FormData错误的对象调用
控制台显示此错误。我无法使用带有php的modals和方法$.post()将文件上载到服务器 模式是:Php 类型错误:';追加';对未使用$.post()方法实现接口FormData错误的对象调用,php,jquery,ajax,modal-dialog,bootstrap-modal,Php,Jquery,Ajax,Modal Dialog,Bootstrap Modal,控制台显示此错误。我无法使用带有php的modals和方法$.post()将文件上载到服务器 模式是: <div class="modal fade addModal" id="addModal" tabindex="-1" role="dialog" aria-labelledby="addModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="group">
<div class="modal fade addModal" id="addModal" tabindex="-1" role="dialog" aria-labelledby="addModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="group">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<?php include 'new_version.php'; ?>
</div>
<div class="modal-footer">
<div id="operations">
<form class="add-form-modal" method="post" enctype="multipart/form-data">
<button class="fa fa-edit btn btn-success"> Guardar</button>
<button type="button" class="fa fa-ban btn btn-warning" data-dismiss="modal" aria-hidden="true"> Ignorar</button>
</form>
</div>
</div>
<div id="infoAdd">
</div>
<div id="errorsAdd">
</div>
</div>
</div>
</div>
&时代;
瓜达尔
无知者
ajax是这样的:
$(document).ready(function () {
$('.add-form-modal').submit(processFormAdd);
//
function processFormAdd() {
//Stop form from submitting normally
event.preventDefault();
target_name = $("#newtarget_name").val();
disabled = $("#newdisabled").val();
iduser = $("#newiduser").val();
modificatedate = $("#newmodificatedate").val();
const inputFile = document.getElementById("data");
var file = inputFile.files[0];
let formData = new FormData();
formData.append('data', file); // En la posición 0; es decir, el primer elemento
var url = "<?php echo url_for('/views/staff/docum/new_version.php?iddoc='); ?>" + iddoc;
// hay que mirar la BBDD como se llaman las columnas (o en admin.class.php)
var options = {'idfile': iddoc, 'target_name': target_name, 'disabled': disabled, 'iduser': iduser, 'modificatedate': modificatedate, 'target_file': formData};
if (inputFile.files.length > 0) {
// Send the data using post
var posting = $.post(url, options);
// Put the results in a div
posting.done(function (data, textStatus, jQxhr) {
alert("Ajax success data perform " + data);
$('#errorsAdd').html('<div class="alert alert-success"> Información añadida con exito </div>').delay(2000).fadeOut("slow");
$('.add-form-modal')[0].reset();
setTimeout(function () {
location.reload();
}, 3000);
}).fail(function (jqXhr, textStatus, errorThrown) {
$('#info').html('<div class="alert alert-error"> Error al procesar la información </div>').fadeOut(5000);
alert("Ajax show throws: " + errorThrown);
if (console && console.log) {
console.log("La solicitud a fallado: " + textStatus);
}
});
} else {
// El usuario no ha seleccionado archivos
alert("Selecciona un archivo");
}
}
});
$(文档).ready(函数(){
$('.add form model')。提交(processFormAdd);
//
函数processFormAdd(){
//阻止表单正常提交
event.preventDefault();
target_name=$(“#newtarget_name”).val();
disabled=$(“#newdisabled”).val();
iduser=$(“#newiduser”).val();
modifiedate=$(“#newmodifiedate”).val();
const inputFile=document.getElementById(“数据”);
var file=inputFile.files[0];
设formData=new formData();
append('data',file);//En la posición 0;es decir,el primer elemento
var url=”“+iddoc;
//hay que mirar la BBDD como se llaman las columns(o en admin.class.php)
var options={'idfile':iddoc,'target_name':target_name,'disabled':disabled,'iduser':iduser,'modifiedate':modifiedate,'target_file':formData};
如果(inputFile.files.length>0){
//使用post发送数据
var posting=$.post(url,选项);
//将结果放入div中
posting.done(函数(数据、文本状态、jQxhr){
警报(“Ajax成功数据执行”+数据);
$('errorsAdd').html('Información añadida con exito')。延迟(2000)。淡出(“缓慢”);
$('.add form modal')[0].reset();
setTimeout(函数(){
location.reload();
}, 3000);
}).fail(函数(jqXhr、textStatus、errorshown){
$('info').html('Error al-procesar la información').fadeOut(5000);
警报(“Ajax显示抛出:“+ErrorSwink”);
if(console&&console.log){
console.log(“larequictudafallado:+textStatus”);
}
});
}否则{
//厄尔乌萨里奥·阿奇沃斯
警报(“Selecciona un archivo”);
}
}
});
但显示此错误,我无法上传。在其他StackOverfow页面中,我发现使用$.ajax()方法需要添加processData:false,但是在这里,使用$.post()方法,我需要做什么
请注意,在实现bootstrap modals之前,该应用程序仅与php一起工作,并在服务器上完美地上传了文件
太多了 你能告诉我这个变量是从哪里来的吗?
iddoc
我找到了这个变量iddoc=$(“#newiddoc”).val()代码>因为我看到了值