Php 用ajax加载迷你接口

Php 用ajax加载迷你接口,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我正在为一些网站制作一个CMS的修订版 在这个重新设计的版本中,左侧有一个列表,显示您可以管理的不同部分(文本、照片库等)。在右边,我想在用户选择项目时通过AJAX加载适当的UI 我一开始只是向各种文件发出请求,然后将HTML放在一个div中,如下所示: var map; $(document).ready(function() { map = {"text":"txt_interface.php","gallery":"gallery_interface.php"}; $('

我正在为一些网站制作一个CMS的修订版

在这个重新设计的版本中,左侧有一个列表,显示您可以管理的不同部分(文本、照片库等)。在右边,我想在用户选择项目时通过AJAX加载适当的UI

我一开始只是向各种文件发出请求,然后将HTML放在一个div中,如下所示:

var map;
$(document).ready(function() {
    map = {"text":"txt_interface.php","gallery":"gallery_interface.php"};

    $('#left_pane li').click(function() {
        var id = $(this).attr('id');
        if (map[id].length) {
            // show loading stuff etc.
            var url = 'ajax/'+map[id];
            $.ajax({
                url: url,
                type: 'GET',
                success: function(res) {
                    $('#right_content').html(res);
                }
            });
        }
    });
});
然而,我后来意识到某些页面需要外部JS(例如tinyMCE)。因此,我尝试了各种解决方案,例如在JSON中单独传递js引用,并使用
$.getScript
,但这一切都变得过于复杂


最好不使用框架,实现这一点最简单的方法是什么?

您可以将JavaScript放在一个块中,然后从AJAX回调函数中拉出,然后
评估它(我知道Google做了类似的事情来延迟对某些JavaScript的解析):

下面是一个JSFIDLE:


这假设您将
{script}
/
{/script}
替换常规的
/
标记,并且JavaScript块位于通过AJAX拉入的内容的末尾。

您能给我们一些具体的示例,说明JS需要运行什么以及如何运行吗?似乎你可以在主页中拉入js文件,然后在拉入正确的内容时运行你必须运行的内容,但如果没有具体的例子,就很难给出方向。@BenL在这个具体的例子中,我在问题中给出了我需要tinyMCE源文件(外部),以及在tinyMCE
tinyMCE.init()上加载内容后要调用的函数-我在该调用中传递了一些参数。这很好-虽然我听说过eval的一些不好的地方:/-它也不能解决外部JSF的问题,或者现在我只是在主页中包含我需要的所有外部脚本-但是这对于加载内联脚本来说非常好-谢谢:)
        $.ajax({
            url: url,
            type: 'GET',
            success: function(res) {
                var tmp    = res.split("{script}"),
                    code   = tmp[1].split("{/script}")[0];
                eval(code);
                $('#right_content').html(tmp[0]);
            }
        });