通过Ajax将表单数据传递到PhP

问题描述

我有一个同时使用文本字段和上传字段的表单。

<form action="submit" method="post" enctype="multipart/form-data">
<input type="text" name="textfield">
<input type="file" name="file_upload">
<button type="submit">Submit</button>
</form>

如何通过ajax传递所有插入的数据并在PhP中使用数据?

我当前通过ajax尝试的是:

var fd = new FormData($('form'));

$.ajax({
     url: ajaxurl,type: 'POST',processData: false,contentType: false,data: {
           fd: fd,action: 'devplus_submit_annex' // a php function
    },success: function(response) {
           JSON.parse(response);
    },error: function(response) {
           console.log('Error');
    }
});

解决方法

FormData构造函数将HTMLFormElement作为其参数,您传递了一个jQuery对象。
对于jQuery.ajax,您仅将表单数据对象作为数据字段传递
如果您需要在之外添加数据,则可以使用append()方法。

var fd = new FormData($('form')[0]);
fd.append('action','devplus_submit_annex');
$.ajax({
     url: ajaxurl,type: 'POST',processData: false,contentType: false,data: fd,success: function(response) {
           JSON.parse(response);
    },error: function(response) {
           console.log('Error');
    }
});

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...