javascript - 如何在一个 ajax 请求中添加文件和 html 类型数据
问题描述
我不知道如何.html()
在通过 ajax 发送数据时在输入字段的后面指定
我想要$(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>
解决方案
formData 是实际发送到服务器的内容。jQuery 实现了 content 属性,但不是您期望的方式。如果要将编辑器 div 的 innerHTML 添加到请求正文中,则需要将其添加到 formData 对象中。一个简单的方法是添加
formData.editorContent = document.getElementById("editor").innerHTML;
在您对新 FormData 的调用下
推荐阅读
- unity3d - Unity Tron 像轨迹粒子系统
- python - 根据另一个表中的列名在 MySQL 中创建表
- rest - 16 位 dBase 与 RESTful API 服务器的集成
- python - 本地使用 dask:对 Client() 还是对 Client()?
- web-scraping - 网页抓取:缺少某些页面 URL
- google-apps-script - 格式化结果并检查它是上升还是下降 15%
- java - 编码风格:类型为 null 的函数调用
- javascript - 根据浏览器大小禁用 javascript
- javascript - Firebase - snapshot.val() 返回 null - 为什么它无法连接到正确的集合?
- c++ - 为什么基于 OpenMP 的 Jacobi Stencil 程序比顺序版本慢