如何在一个Ajax请求中添加文件和HTML类型数据

时间:2018-06-19 20:56:25

标签: javascript jquery

我不知道在通过ajax发送数据时如何在输入字段的后面指定.html()

我希望$(Content)作为html格式的数据,但是通过使用FromData()似乎是不可能的。

 
$("form#data").submit(function(e) {
  e.preventDefault();
  var formData = new FormData(this);
  var Content = document.getElementById("editor").innerHTML;
  $.ajax({
    url: 'php/videoUpload.php',
    type: 'POST',
    data: formData,
    Content: $(Content).html(), //Not working (Can't see the Content in my ajax request in console window)
    success: function(data) {},
    cache: false,
    contentType: false,
    processData: false
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form id="data" method="post" enctype="multipart/form-data">
  <div class="form-group">
    <input type="text" class="form-control" name="title">
  </div>
  <div id="toolbar"></div>
  <div id="editor"></div>
  <input type="file" name="file" id="fileToUpload">
  <button type="submit" class="SubmitButton">Post</button>
</form>

1 个答案:

答案 0 :(得分:2)

formData是实际发送到服务器的内容。 jQuery实现了content属性,但是没有实现您期望的属性。如果要将编辑器div的innerHTML添加到请求的主体,则需要将其添加到formData对象。一种简单的方法是添加

formData.editorContent = document.getElementById("editor").innerHTML;

在调用新FormData时