tinymce与jquery ajaxsetup datafilter不兼容

时间:2010-11-23 13:37:59

标签: 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({,时,我的textarea没有初始化(只显示原始textarea,好像没有安装tinymce)。如果我将该过滤器移动到实际的ajax调用,我没有问题,一切都很好。注意我正在将自己保存到启用了ajax的.asmx文件中,并且工作正常。

jquery 1.4.3,tinymce jquery version 3.3.9.2

为什么datafilter的ajaxsetup选项导致tinymce不起作用?

1 个答案:

答案 0 :(得分:0)

无法确定为什么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;
         }
    })
  );
}