我正在尝试获取 TinyMCE 所见即所得的内容并将其发布到控制器函数以进行数据库插入。此设置将始终显示加载资源失败:服务器响应状态为 500(内部服务器错误),引用我的 /admin/postnewarticle/ 路由作为 Chrome 中错误控制台中的数据:
$.ajax({
url: '/admin/postnewarticle/',
type: 'post',
dataType: 'json',
data: {
content: tinyMCE.get('article-content').getContent(),
title: $('#article-title').val(),
articleType: $('#article-types option:selected').val()
},
success: function (result) {
// success stuff
}
});
当我在 Chrome 中调试时,作为 Watch Expression 放置tinyMCE.get('article-content').getContent()
显示我在这里获得了所需的值:我在 TinyMCE 文本区域中写入的任何内容,都包含在<p>
标签中。如果我用一些没有任何 HTML 标记的随机静态字符串值替换“内容”的值,控制器方法将正确执行。
这是我要尝试的控制器方法:
[HttpPost]
[Authorize(Roles = "Administrators")]
[ValidateInput(false)]
public JsonResult PostNewArticle(string title, HtmlString content, string articleType)
{
// do stuff
}
请注意,此处“内容”的数据类型是 HtmlString ......在进行了一些最终导致我来到这里的研究之后,这只是从字符串更改。但无论是字符串还是 HtmlString,如果内容的值包含 HTML 标记,则操作仍然不会执行。
任何和所有的帮助表示赞赏!