我正在使用ajax收集CKEditor内容并将其提交给服务器。一旦我提交后查看它,所有的html标签<!> lt;和<!> gt;已被转换为他们的html实体。这不是我想要的,因为我显然需要保留HTML。

我做错了吗?

有帮助吗?

解决方案 2

最后我意识到我的服务器没有以UTF-8保存数据,即使ajax正在以这种方式发送它。所以,我解决了这个问题,数据保存正确。

其他提示

几个问题:

  1. 您使用的是哪个AJAX库?
  2. 您使用什么方法从CKEditor获取内容?
  3. 我使用jQuery + validate(表单验证插件)来提交表单。

    CKEditor绑定的textarea名为 body

    由于某些奇怪的原因,当我提交表单时,内容根本没有提交。查看HTML我发现textarea没有被CKEditor填充(不要问我为什么)。

    我所做的就是在提交之前,手动从CKEditor获取数据并将其存入textarea。单行jquery就足够了。

    $( '#body' ).val( CKEDITOR.instances.body.getData() );
    

    然后继续正常提交表单。 jQuery有一个非常好的数据序列化方法 - 一个名为 serialize()的函数,我用它将整个表单的数据转换为字符串。在PHP端,此字符串将自动转换为 $ _ POST 数组的成员。

    你应该尝试相同的方法,看看它是否适合你。

    如果您仍然卡住,请在此处发布您的代码。

    干杯, 米^ E

正确就是在配置中设置这个 实体:false

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top