用Ajax发送文件并用jQuery输入

用Ajax发送文件并用jQuery输入,jquery,ajax,upload,Jquery,Ajax,Upload,我有一个上传文件和输入的表单 <form id="form"> <input type="text" id="name"> <input type="file" id="file"> </form> 但是我没有得到输入值 请问我这里缺什么 谢谢。当您需要表单中的所有数据时,将整个表单元素传递到FormData()比手动附加到它更简单

我有一个上传文件和输入的表单

<form id="form">
    <input type="text" id="name">
    <input type="file" id="file">
</form>
但是我没有得到输入值

请问我这里缺什么


谢谢。

当您需要表单中的所有数据时,将整个表单元素传递到
FormData()
比手动附加到它更简单

而不是:

var file_data = $('#file').prop('files')[0];   
var form_data = new FormData();                  
form_data.append('file', file_data);
只要做:

var form_data = new FormData(this);// `this` is the form element submit event occured on
并将
name
属性添加到表单控件:

<form id="form">
    <input name="name" type="text" id="name">
    <input name="file" type="file" id="file">
</form>


您需要另一个
append()
作为文本输入键和值谢谢,我可以在PHP中像这样获取文件
$\u FILES['file']['name']
或者像这样
$\u POST['file']['name']
$\u FILES['file']和
$\u POST['name']
<form id="form">
    <input name="name" type="text" id="name">
    <input name="file" type="file" id="file">
</form>