2010-11-23 11 views
3

ich folgenden datafilter Option auf meinem Jquery ajaxsetup:tinymce nicht kompatibel mit 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; 
    }, 

Als ich dies in dem tinymce $.ajaxSetup({, setzte nicht auf meinem Textbereich initialisieren (zeigt nur den Original-Textbereich, als ob tinymce ist nicht installiert). Wenn ich diesen Filter auf die tatsächlichen Ajax-Aufrufe verschiebe, habe ich kein Problem und alles ist in Ordnung. Hinweis Ich mache meine Saves selbst in einer Ajax-fähigen .asmx-Datei und es funktioniert einwandfrei.

jquery 1.4.3, tinymce jquery Version 3.3.9.2

Warum für die datafilter Ursache tinymce die ajaxsetup Option nicht funktionieren würde?

Antwort

0

Kann nicht sagen, warum genau TinyMCE fehlschlägt, aber Sie könnten eine Funktion machen, um nur Ihre eigenen Anfragen zu filtern und TinyMCE zu lassen.

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; 
     } 
    }) 
); 
} 
+0

Ja, das ist ziemlich genau das Gleiche wie das, was ich getan habe, als ich es einfach vom Ajaxsetup zum Ajax-Aufruf selbst verschoben habe. –

Verwandte Themen