TinyMCE调用setContent回显内容显示[object Object]问题咨询
问题原因
- 存值逻辑存在根本性的写法错误:
let editorContent;声明的变量初始值为undefined,后续直接调用editorContent.set()本身就不符合JS语法——基础字符串类型不存在set方法,你完全写反了赋值方向。 tinymce.get("firstEditor").getContent()本身返回的就是编辑器内容的HTML格式字符串,不需要通过set方法转存。错误写法导致最终存入数据库的不是纯字符串,而是被异常操作转换的对象值。后续读取内容调用setContent时,TinyMCE接收的参数是对象类型,无法正常解析渲染,就会显示默认的[object Object]文本。
修复方案
- 修正内容获取阶段的赋值逻辑,直接接收
getContent()返回的字符串即可,不需要调用额外的set方法:
// 正确获取编辑器内容 let editorContent = tinymce.get("firstEditor").getContent(); // 此时editorContent为标准字符串类型,可直接存入数据库
- 读取数据库内容加载到编辑器前,增加类型校验,避免传入非字符串值:
// 从数据库读取已存储的内容 const savedEditorContent = /* 你的数据库查询返回结果 */; // 校验类型后再赋值 if (typeof savedEditorContent === "string") { tinymce.get("firstEditor").setContent(savedEditorContent); }
注意:如果之前错误的逻辑已经把异常对象值存入数据库,这部分历史数据无法直接还原为正确的富文本内容,需要修正存值逻辑后重新录入正确内容。
内容的提问来源于stack exchange,提问作者Majd Nakhleh
相关产品推荐
相关产品推荐

