我正在使用jquery 文本编辑器插件来创建 html 标记。我将文本编辑器创建的标记放在 js 变量中,并使用 ajax 调用将该变量发布到服务器。
在cshtml中标记:
<div>
<div id="textEditor">@Html.Raw(Model.htmlMarkUp)</div>
</div>
<input type="button" value="Save" onclick="SaveChanges();" />
JS:
$(document).ready(function () {
$('#textEditor').jqte();
});
function SaveChanges(){
var txtContent = $(".jqte_editor").html();//.jqte_editor is the div added by plugin
var path = '/Pages/saveChanges';
$.ajax({
type: "POST",
url: path,
data: { htmlMarkUp: txtContent },
success: function (result) { alert(result) },
error: function () { }
});
}
模型:
public class MyModel
{
public string htmlMarkUp{ get; set; }
}
控制器:
public string saveChanges(MyModel oModel)
{
....
}
问题:
动作结果被正确调用,除非我不使用插件中提供的任何美化工具,即如果我在文本编辑器中编写了一个简单的纯文本,则 ajax 调用正常工作,但只要我使用任何工具,如粗体工具ajax 调用停止工作。
首先我认为这是由于 web config 中 json 大小的限制,但这也不是问题。
为了指定 json 大小,我在 web.config 中编写如下:
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000">
</jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
该问题与标记大小无关。问题是,当我使用文本编辑器插件的粗斜体等任何工具时。
出了什么问题
提前致谢。