我不知道在通过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>
答案 0 :(得分:2)
formData是实际发送到服务器的内容。 jQuery实现了content属性,但是没有实现您期望的属性。如果要将编辑器div的innerHTML添加到请求的主体,则需要将其添加到formData对象。一种简单的方法是添加
formData.editorContent = document.getElementById("editor").innerHTML;
在调用新FormData时