我正在使用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调用错过了动态值
之前有人遇到过这种情况吗?还是任何解决方案?
答案 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>" />