jQuery表单使用TinyMCE序列化Code​​Igniter中缺少的数据

时间:2012-06-28 12:35:56

标签: javascript jquery ajax codeigniter tinymce

我正在使用tinymce。我正在通过像这样的jquery ajax调用发送数据

// 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调用错过了动态值

之前有人遇到过这种情况吗?还是任何解决方案?

1 个答案:

答案 0 :(得分:3)

我有完全相同的问题。我要疯了! :-( 看来JQuery Ajax请求(我使用serializeArray函数)不希望接受像“”这样的东西! 我确定问题不是TinyMCE(我试图“强制”字符串,序列化它......和“风格”消失!)..: - (


(编辑)

您使用的是CodeIgniter框架吗?如果是,请查看 application / config / config.php 文件并尝试将 $ config ['global_xss_filtering'] 参数设置为 FALSE ...这对我有用! : - )

如果是你的情况,请记住在POST上使用XSS过滤,并在必须通过脚本黑客攻击的地方进行GET(访问CodeIgniter XSS manual page)。

否则尝试通过添加/删除斜杠(在jQuery和PHP中)进行调试,或者手动查看类似这样的值(在ajax之前和之后):

    <input type="hidden" name="test" id="test" value="<p><span style="color:#f00;">test</span></p>" />