【发布时间】:2015-10-28 06:47:26
【问题描述】:
我想在 ASP.NET MVC 中将 html 内容设置为 TinyMCE 编辑器内容
所以我提供了一个解决方案,在服务器端将该 HTML 文件转换为字符串,然后在客户端使用 ajax 调用它
这是 C# 控制器方法
[HttpGet]
public string TyneMice()
{
return System.IO.File.ReadAllText(@"C:\Users\..\myhtml.html");
}
这是ajax调用,
<script type="text/javascript">
tinymce.init({
...,
setup: function (ed) {
ed.on("init", function (ed) {
$.ajax({
type: "GET",
url: "Brochure/TyneMice",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
tinyMCE.activeEditor.setContent(data);
},
error: function () { alert("Ajax Error"); }
});
})
}
});
</script>
但是一旦我将调试点放在上面的字符串方法上,它就不会调用
然后我把上面的脚本放在$( document ).ready(function() { ... }里面
但同样的结果它不起作用。
【问题讨论】:
-
尝试将 dataType 替换为 false 和我们,而不是在 vnext 中使用 IActionResult 替换字符串,在其他版本中使用 ActionResult 并返回内容
-
您遇到了什么错误?你的网址应该是
url: @Url.Action("TyneMice", "Brochure")',,你返回一个string,而不是json,所以要么使用return Json(...),要么使用dataType: "text", -
@StephenMuecke 我已经按照你所说的进行了更改,但是在编译时或运行时没有发生错误,仍然没有调用调试点
-
@blin2linkme 你的意思是这样的
dataType: false,和public string IActionResult() { -
tinymce.init({然后ed.on("init", function (ed) {看起来不正确。尝试注释掉ed.on("init", function (ed) {这一行及其结束});
标签: javascript c# jquery ajax asp.net-mvc