1

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

是不是我做错了什么?

4

3 回答 3

2

几个问题:

  1. 您使用的是哪个 AJAX 库?
  2. 您使用什么方法从 CKEditor 获取内容?

我使用 jQuery + validate(表单验证插件)提交表单。

CKEditor 绑定的文本区域名为body

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

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

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

然后继续正常提交表单。jQuery 有一个非常好的数据序列化方法——一个叫做serialize()的函数,我用它把整个表单的数据转换成一个字符串。在 PHP 端,这个字符串会自动转换为$_POST数组的成员。

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

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

干杯,m^e

于 2009-11-10T13:16:06.503 回答
0

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

于 2010-10-07T18:03:57.343 回答
-2

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

于 2010-10-06T16:40:05.650 回答