2009-10-27 65 views
1

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

有什么我做错了吗?

回答

0

在我意识到,我的服务器是不是UTF-8,即使在保存数据结束阿贾克斯正在以这种方式发送。所以,我解决了这个问题,数据保存正确。

+0

我遇到同样的问题。你能解释一下,如何解决这个问题? – 2016-06-10 00:31:59

2

几个问题:

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

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

CKEditor绑定的textarea被命名为body

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

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

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

然后用表单提交的正常进行。 jQuery有一个非常好的数据序列化方法 - 一个名为serialize()的函数,我使用该函数将整个表单的数据转换为字符串。在PHP端,该字符串被自动转换为$ _POST阵列的成员。

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

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

干杯, 平方公尺Ë

+0

最后我意识到我的服务器并没有将数据保存在UTF-8上,即使Ajax以这种方式发送数据。所以,我解决了这个问题,数据保存正确。 – 2009-11-10 15:48:08

+0

很酷。问题解决了:) – 2009-11-11 06:18:18

+0

您是如何让服务器以UTF-8保存数据的? – AnApprentice 2010-06-06 04:15:36

-2

正确的是建立在配置此 实体:假

+0

有没有机会将您的答案重新格式化为清晰可辨的内容? – hitautodestruct 2012-12-10 14:45:04