2017-04-19 135 views
0

目前,我有我的我的Ajax调用像这样“做”方法内部TinyMCE的初始化语句:tinyMCE的初始化位置

$(document).ready(function() { 
    $.ajax({ 
     url: '/api/GameData/' + gameID, 
     method: 'GET', 
     dataType: 'json', 
     success: function (data) { 
     }, 
     fail: function (jqXHR, textStatus) { 
      alert("Request failed: " + textStatus); 
      } 
     }).done(function (data) { 
      $("#gameEditor").val(data); 
      tinyMCE.init({ 
       selector: 'div#gameEditor', 
       inline: true 
      }); 
     }); 
    }); 

    function saveTinyMCE() { 
     var text = tinyMCE.get('gameEditor').getContent(); 
    } 

我有一个保存使用jQuery的AJAX发布数据的功能。我在done函数之外定义了这个函数。

每次页面加载时,我得到这个错误的“变种文字=”线在浏览器控制台的saveTinyMCE功能:

Uncaught TypeError: Cannot read property 'getContent' of null 

我需要把这个保存里面的“完成”功能最初的ajax调用的一部分?

谢谢!

回答

1

我认为你需要在ajax方法之外调用tinymce.init。 实施例: 写init函数:

$(document).ready(function() { 
var self = this; 
self.initTinyMCe(){ 
    tinyMCE.init({ 
      selector: 'div#gameEditor', 
      inline: true 
    }); 
} 
$.ajax({ 
    url: '/api/GameData/' + gameID, 
    method: 'GET', 
    dataType: 'json', 
    success: function (data) { 
    }, 
    fail: function (jqXHR, textStatus) { 
     alert("Request failed: " + textStatus); 
     } 
    }).done(function (data) { 
     $("#gameEditor").val(data); 
     self.initTinyMCe(); 
    }); 

});