我正在使用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 调用错过了动态值
以前有人遇到过这种情况吗?或者有什么解决办法吗?
最佳答案
我也有同样的问题。我要疯了! :-( 看来JQuery Ajax请求(我使用serializeArray函数)不想接受像“”这样的东西!!! 我确信问题不是 TinyMCE (我尝试“强制”字符串,序列化它..并且“样式”消失!).. :-(
(编辑)
您使用CodeIgniter框架吗?如果是,请查看您的 application/config/config.php 文件并尝试将 $config['global_xss_filtering'] 参数设置为 FALSE...这对我有用! :-)
如果是您的情况,请记住在 POST 和 GET 上使用 XSS 过滤,您必须通过脚本攻击进行保护(访问 CodeIgniter XSS manual page )。
否则尝试通过添加/删除斜杠(在 jQuery 和 PHP 中)进行调试,或者手动查看类似这样的值(在 ajax 之前和之后):
<input type="hidden" name="test" id="test" value="<p><span style="color:#f00;">test</span></p>" />
关于javascript - jQuery 表单使用 TinyMCE 序列化 CodeIgniter 中缺少的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11244785/