我在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不起作用?
答案 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;
}
})
);
}