Javascript ajax()正在破坏TinyMCE 3.5.6

Javascript ajax()正在破坏TinyMCE 3.5.6,javascript,jquery,ajax,tinymce,rte,Javascript,Jquery,Ajax,Tinymce,Rte,我构建了一个简单的CMS,其中包含多层jQuery.ajax(),如下所示: function navto(destination, pageToEdit, insertInto) { // use JQuery's ajax method to control main navigation if (pageToEdit == "undefined") { var request = $.ajax({ url: destination }); } else {

我构建了一个简单的CMS,其中包含多层jQuery.ajax(),如下所示:

function navto(destination, pageToEdit, insertInto) {
// use JQuery's ajax method to control main navigation
if (pageToEdit == "undefined") {
    var request = $.ajax({
        url: destination
    });
} else {
    var request = $.ajax({
        type: "POST",
        url: destination,
        data: pageToEdit
    });
}

request.done(function(msg) {
    if (insertInto) { $(insertInto).html( msg ); }
    else { $("#mana_content").html( msg ); }
    //alert(msg);
});

request.fail(function(jqXHR, textStatus) {
    alert( textStatus + ". This page could not be found." );
});
}
例如,index.php使用编辑页面来将edit_pages.php加载到

edit_pages.php使用
$(文档)
(其中
load\u page\u for_edit()
收集并准备发送到
navto()
函数的信息)以发送类似
edit\u page.php?t=template.php&c=contentID

edit_page.php使用这些值在相应的数据库中查找所需的信息,然后将类似
template.php&c=content
的内容输出到自己的
。。。再次使用另一个
navto()

然后,用户可以单击$('.edit#text')元素取消隐藏一个div,其中包含一个TinyMCE文本区域(称为$('#editor'))

内容由
var content=$('.edit_text').html()捕获。

问题是:当我尝试将content变量加载到TinyMCE textarea--
$('#editor').html(content)--文本区域不接收它。我可以立即使用
alert($(“#mana_editor”).html()跟进此问题
,它输出正确的内容,但HTML字符是安全的(例如,
变为
p&rt;
)。但是,内容不会加载到TinyMCE中

我猜我有一个.ajax范围的问题?也许jQuery正在尝试
$('#editor').html(内容)
到template.php上不存在的编辑器(回想一下,#编辑器在edit#page.php上)?有什么好的资源可以帮助我们理解.ajax的多层结构吗

小道消息、线索和我尝试过的东西:

  • 我所有的jQuery函数都在functions.js文件中,除了位于edit_page.php末尾的TinyMCE init
  • 仅index.php链接到functions.js
  • 我正在使用TinyMCE 3.5.6和jQuery 1.7.2
  • 我还尝试了TinyMCE的伪选择器(
    $('textarea:TinyMCE')
    ,而不是
    $('#editor')
    ),它在Firebug中抛出了一个错误:jq.min.js(第4行)中的“错误:语法错误,无法识别的表达式:TinyMCE”
  • 用户在TinyMCE中进行更改后,更新按钮将把新内容加载到单击的
    $('.edit_text')
    中。它没有加载我输入的内容,而是加载上面提到的“安全”HTML——就好像TinyMCE被完全忽略一样
  • 如果我不使用整个CMS,首先在FireFox中手动输入'get_page.php?t=template&c=content',那么效果很好
  • 如果我不加载TinyMCE,jQuery将把内容加载到textarea中
  • 可能有什么事。。。看起来类似,但我不确定他的head.js包含什么,如何实现head.ready();,或者如果他的问题和我的一样
这是我第一个使用Ajax的项目,所以我有很多东西要学。如有任何见解/建议阅读/解决方案,将不胜感激

问题是:当我尝试将内容变量加载到 TinyMCE文本区域--$('#编辑器').html(内容);--文本区有 我没有收到。我可以立即跟进 警报($('mana_editor').html());,输出正确的内容,
但是HTML字符是安全的(例如,变成了+1个非常详细的问题和一系列尝试过的事情!感谢及时的回答和+1。问题是由于我的CMS和加载的模板加载jq.min.js。我从模板中删除了对jQuery的调用,一切正常。不幸的是,模板本身在CMS之外需要jQuery,所以现在我得到了o研究如何为我的CMS编写与php的require_once()相当的js/jQ。至于您的响应,调用$('textarea.tinymce')可以在没有tinymce.setContent()的情况下工作。不过,感谢您提供了另一种方法!(另外,很明显,在我的声望达到15之前,我不能投票。很抱歉没有+1,尽管你的回答很有帮助:))啊,是的,这是正确的-好的,你很快就可以投票了
tinymce.get('your_former_textarea_id_needs_to_be_here').setContent(content);