c# - 无法通过 FormData Append 传递 HTML 内容
问题描述
我有一些 HTML 内容,需要通过 FormData.append 将其传递到后端。当我尝试像 HTML 内容一样传递它时,它会显示内部服务器 500 错误。当我只传递文本时,它成功地到达了后端。
代码
var _description = "<p><b>Test Description</b></p>";
var formData = new FormData();
formData.append("Description", _description)
然后通过 AJAX 调用发送到后端,
$.ajax({
url: $("#addNewsDetails").val(),
// cache: false,
type: "POST",
data: formData,
dataType: 'json',
contentType: "application/json; charset=utf-8",
mimeType: 'multipart/form-data',
processData: false,
contentType: false,
success: function (status) {
//Success
}
});
解决方案
服务器可能配置为不接受 html。您可以尝试更改该设置,或者您可以在 ajax 调用之前对 html 进行编码。然后在服务器上,您需要对其进行解码。
- 如何在 javascript 中编码 html:在 javascript 中编码 html 实体
- 如何在 C# 中解码 html:https ://docs.microsoft.com/en-us/dotnet/api/system.web.httputility.htmldecode?view=netcore-3.1
推荐阅读
- flutter - 在 null 上调用了方法“<”
- node.js - req.pipe nodejs 上的安全含义
- java - docker-compose spring boot 无法连接到mysql
- javascript - vanillaJS 中的简单 channing 图像不起作用
- html - 如何解决导航栏在悬停时移动
- angular - 是否可以将 Number Picker 集成到 Angular Web 项目中?
- postgresql - PostgreSQL 视图在分组中返回非常慢的结果
- google-cloud-platform - Terraform GCP 销毁单个实例
- html - 角度 100% 高度导致 0 高度
- python - Python上的电报机器人,功能卡在等待