1

ajax を使用して CKEditor コンテンツを収集し、サーバーに送信しています。送信後に確認すると、すべての html タグ < および > が html エンティティに変換されています。明らかに HTML を保持する必要があるため、これは私が望むものではありません。

私が間違ったことはありますか?

4

3 に答える 3

2

いくつかの質問:

  1. どの AJAX ライブラリを使用していますか?
  2. CKEditor からコンテンツを取得するためにどのような方法を使用していますか?

フォームの送信に jQuery + validate (フォーム検証プラグイン) を使用しています。

CKEditor がバインドされるテキストエリアはbodyという名前です。

フォームを送信したとき、何らかの奇妙な理由で、コンテンツがまったく送信されませんでした。HTML を調べると、テキストエリアが CKEditor によって取り込まれていないことがわかりました (理由は聞かないでください)。

私がしたことは、提出の直前に、CKEditor から手動でデータを取得し、テキストエリアに隠しておくことでした。jquery は 1 行で十分です。

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

その後、通常どおりフォームの送信を続行します。jQuery には、フォーム全体のデータを文字列に変換するために使用するserialize()という関数という、非常に優れたデータ シリアル化メソッドがあります。PHP の最後で、この文字列は$_POST配列のメンバーに自動変換されます。

同じアプローチを試して、それがうまくいくかどうかを確認してください。

それでも問題が解決しない場合は、ここにコードを投稿してください。

乾杯、m^e

于 2009-11-10T13:16:06.503 に答える
0

最終的に、ajaxがこの方法でデータを送信しているにもかかわらず、サーバーがUTF-8でデータを保存していないことに気付きました。それで、私はそれを修正し、データは正しく保存されました。

于 2010-10-07T18:03:57.343 に答える
-2

正しいのは、構成でこのエンティティを設定することです: false

于 2010-10-06T16:40:05.650 に答える