jquery - tinymce 与 jquery ajaxsetup datafilter 不兼容

标签 jquery tinymce

我在 jquery ajaxsetup 上使用以下 datafilter 选项:

    dataFilter: function(data)
    {
        var msg;
        if (typeof (JSON) !== 'undefined' &&
        typeof (JSON.parse) === 'function' &&
        data != undefined &&
        data != null &&
        data.length != 0 &&
        data != " ")
            msg = JSON.parse(data);
        else
            msg = eval('(' + data + ')');
        if (msg.hasOwnProperty('d'))
            return msg.d;
        else
            return msg;
    },

当我将其放入 $.ajaxSetup({, tinymce 时,tinymce 不会在我的文本区域上初始化(仅显示原始文本区域,就好像未安装 tinymce 一样)。如果我将该过滤器移至实际的 ajax 调用,我没有任何问题,一切都很好。请注意,我正在将自己保存到启用 ajax 的 .asmx 文件中,并且工作正常。

jquery 1.4.3,tinymce jquery 版本 3.3.9.2

为什么数据过滤器的ajaxsetup选项会导致tinymce无法工作?

最佳答案

无法确切说明为什么 TinyMCE 失败,但您可以创建一个函数来仅过滤您自己的请求并让 TinyMCE 继续。

function filAjax( settings ) {
  $.ajax(
    $.extend(settings, 
    {
       dataFilter: function(data) {
         var msg;
         if (typeof (JSON) !== 'undefined' &&
         typeof (JSON.parse) === 'function' &&
         data != undefined &&
         data != null &&
         data.length != 0 &&
         data != " ")
             msg = JSON.parse(data);
         else
             msg = eval('(' + data + ')');
         if (msg.hasOwnProperty('d'))
             return msg.d;
         else
             return msg;
         }
    })
  );
}

关于jquery - tinymce 与 jquery ajaxsetup datafilter 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4256547/

相关文章:

jquery - 简单的 jQuery if 语句不在样式之间切换

javascript - 将tinyMCE加载到colorbox中

dojo - "<mce:script type="text/javascript">&lt;!-- --></mce :script>"是什么意思

jquery - 附加到 jQuery Datepicker 模糊事件

jquery - 如何通过 jquery 模拟 anchor 击?

jquery - 如何将Json数组显示到tinymce

javascript - 无需javascript处理即可获取原始dom元素innerHTML

javascript - React Grid Layout - 在第一次初始化后更新 Tinymce Editor 高度

javascript - is (':first' ) 返回不同的(错误的?)结果应该是相同的元素。 jsFiddle里面

javascript - Jquery - 包含返回意外结果的方法