Javascript 使用jQuery终端获取PHP数据

Javascript 使用jQuery终端获取PHP数据,javascript,php,jquery,json,jquery-terminal,Javascript,Php,Jquery,Json,Jquery Terminal,我查看了jQuery终端模拟器插件:但在文档中找不到我要查找的内容,实际上发现它有点太高级了,我无法理解,因此我在这里询问如何使用该插件从json对象(比如PHP)或单独的文件加载命令和参数回复总之?您需要做与使用普通ajax应用程序完全相同的事情。您需要发送ajax请求POST或获取并解析响应,然后返回结果(使用jQuery终端,而不是交换html或其他内容)。而ajax请求需要在函数中作为jquery终端的第一个参数触发,所以您可以获得原始命令数据 $(function() { $(

我查看了jQuery终端模拟器插件:但在文档中找不到我要查找的内容,实际上发现它有点太高级了,我无法理解,因此我在这里询问如何使用该插件从json对象(比如PHP)或单独的文件加载命令和参数回复总之?

您需要做与使用普通ajax应用程序完全相同的事情。您需要发送ajax请求POST或获取并解析响应,然后返回结果(使用jQuery终端,而不是交换html或其他内容)。而ajax请求需要在函数中作为jquery终端的第一个参数触发,所以您可以获得原始命令数据

$(function() {
    $('body').terminal(function(command, term) {
        $.post('script.php', {command: command}, function(response) {
           // response is already parsed by jQuery
           if (response.output) {
               term.echo(response.output);
           }
           // you can do other things with other values, like execute
           // terminal methods
           if (response.exec) {
               term[response.exec.method].apply(term, response.exec.args);
           }
        }, 'json');
    }, {
        greetings: 'php example',
        onBlur: function() {
            return false;
        }
    });
});
在php中,您需要使用如下代码:

<?php

if (isset($_POST['command'])) {
    // process command
    echo json_encode($arrayorobject);
}

?>
如果你也有论据,你需要更复杂的逻辑

$.get('commands.json', function(commands) {
    $('body').terminal(function(command, term) {
        var cmd = $.terminal.parse_command(command)
        if (commands[cmd.name]) {
            this.echo(commands[cmd.name]);
        }
    });
});