如果字符串包含HTML标记,则无法解析AJAX发布URL(500)
问题描述:
我试图将TinyMCE wysiwyg的内容发布到数据库插入的控制器函数中。这样的设置将始终显示无法加载资源:服务器回应500(内部服务器错误)的状态理由是在Chrome浏览/管理/ postnewarticle /在错误控制台中的数据路径:如果字符串包含HTML标记,则无法解析AJAX发布URL(500)
$.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中进行调试时,将tinyMCE.get('article-content').getContent()
作为手表表达显示我在这里获得了期望的值:无论我在TinyMCE文本区域中写入了什么,都包含在<p>
标记中。如果我用一些随机的静态字符串值替换“content”的值而没有任何HTML标签,控制器方法将正确执行。
这里是控制器的方法,我试图打:
[HttpPost]
[Authorize(Roles = "Administrators")]
[ValidateInput(false)]
public JsonResult PostNewArticle(string title, HtmlString content, string articleType)
{
// do stuff
}
请注意,对于“内容”的数据类型这里是HtmlString ......这是从刚刚字符串,最终做了一些研究之后改变带领我here。但无论是字符串还是HtmlString,如果内容的值包含HTML标记,则该操作仍不会执行。
任何和所有帮助表示赞赏!
答
哈哈,编者按:我的意思是不要说“用段落标记”在我的问题中间。我输入了字母p /括号,以致导致换行。 – AJH 2012-03-23 06:43:00