Javascript 使用ajax发送上传的文件和输入数据

Javascript 使用ajax发送上传的文件和输入数据,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我正在尝试使用ajax上传带有数据的文件。 这是我的html表单: <body> <input type="text" id="name" value="test" /> <input type="file" id="pic" accept="image/*" /> <input id = "submit" type="submit" /> </body> 但是我不知道如何发送带有数据的输入“name” var DATA

我正在尝试使用ajax上传带有数据的文件。 这是我的html表单:

<body>
  <input type="text" id="name" value="test" />
  <input type="file" id="pic" accept="image/*" />
  <input id = "submit" type="submit" />
</body>
但是我不知道如何发送带有数据的输入“name”

var DATA = 'name='+name;

$.ajax({
  url: "test.php",
  type: "post",
  data: DATA,
  success: function (response) {
    console.log($response);             
  },
});

谢谢

首先,您应该包括表单标记,如以下示例

<form id="uploadForm" enctype="multipart/form-data" action="http://yourdomain.com/upload" method="post" name="uploadForm" novalidate>
    <input type="text" id="name" value="test" />
    <input type="file" id="pic" accept="image/*" />
    <input id = "submit" type="submit" />
</form>
要回答有关仅发送ID为“name”的文本字段的值的特定问题,只需使用以下行:

var DATA = 'name=' + $('#name').val();
var name=$(“#name”).val();
表单_数据。追加('name',name)

可能是错误的,请在一个ajax上尝试

您可以使用
form_data.append('input_name',$('#name').val()将输入值添加到数据中
var form = $('#uploadForm')[0];
var form_data = new FormData(form);
var DATA = 'name=' + $('#name').val();