2017-04-19 149 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(); 
    }); 

});