2

私はtinymceを使用しています。そして、私はこのようなjqueryajax呼び出しでデータを送信しています

// update textarea from tinymce
tinyMCE.triggerSave (false,true);
$.post ('', $('#page_form').serialize (), function (x){
    var ans = $.parseJSON (x);
    if (ans.success)
    {
// my work

しかし、サーバーは取得しています

<p><span medium;="" font-family:="" \'andale="" mono\',="" times;\"="">aiwndiawnduawd </span><strong>waoid</strong></p>

しかし、それは取得する必要があります

<p><span style="font-size: medium; font-family: 'andale mono', times;">aiwndiawnduawd </span><strong>waoid</strong></p>

jsコンソールから$('。tinymce')。val()が正しい値を返すのを見ましたが、どういうわけかajax呼び出しはその場で値を見逃します

誰かが前にこれに直面しましたか?または任意の解決策?

4

1 に答える 1

3

私はまったく同じ問題を抱えています。私はおかしくなりそうだ!:-( JQuery Ajaxリクエスト(私はserializeArray関数を使用しています)は ""のようなものを受け入れたくないようです!!!問題はTinyMCEではないと確信しています(文字列を「強制」してシリアル化しようとしています。..そして「スタイル」が消える!).. :-(


(編集)

CodeIgniterフレームワークを使用していますか?はいの場合は、application / config / config.phpファイルを確認し、 $config['global_xss_filtering']パラメーターをFALSEに設定してみてください...これでうまくいきます。:-)

その場合は、POSTでXSSフィルタリングを使用し、スクリプトハックで保護する必要がある場所でGETすることを忘れないでください(CodeIgniter XSSのマニュアルページにアクセスしてください)。

それ以外の場合は、スラッシュを追加/削除して(jQueryおよびPHPで)デバッグするか、次のような値を手動で確認してください(ajaxの前後)。

    <input type="hidden" name="test" id="test" value="<p><span style="color:#f00;">test</span></p>" />
于 2012-07-10T15:21:22.963 に答える