使用 jQuery 终端获取 PHP 数据
Get PHP Data using jQuery Terminal
我正在查看 jQuery 终端仿真器插件:https://terminal.jcubic.pl/ 但在文档中找不到我要找的东西,实际上发现它有点太高级了,我无法理解,所以我我在这里问我如何使用插件从 PHP 中的 json 对象加载命令和参数回复,或者只是一个单独的文件?
您需要执行与使用普通 ajax 应用程序完全相同的操作。您需要发送 ajax 请求 POST 或 GET 并解析响应,然后回显结果(使用 jQuery 终端而不是交换 html 或其他东西)。并且 ajax 请求需要作为第一个参数 t 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);
}
?>
如果你想在服务器和客户端拥有相同的文件,你可以使用 $_SERVER['HTTP_X_REQUESTED_WITH']
的技巧,检查我的 leash shell.
的源代码
并且如果您在具有映射 {command: reply}
的文件中有 json 对象,您可以这样做:
$.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]);
}
});
});
如果你也有参数,你将需要更复杂的逻辑,
我正在查看 jQuery 终端仿真器插件:https://terminal.jcubic.pl/ 但在文档中找不到我要找的东西,实际上发现它有点太高级了,我无法理解,所以我我在这里问我如何使用插件从 PHP 中的 json 对象加载命令和参数回复,或者只是一个单独的文件?
您需要执行与使用普通 ajax 应用程序完全相同的操作。您需要发送 ajax 请求 POST 或 GET 并解析响应,然后回显结果(使用 jQuery 终端而不是交换 html 或其他东西)。并且 ajax 请求需要作为第一个参数 t 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);
}
?>
如果你想在服务器和客户端拥有相同的文件,你可以使用 $_SERVER['HTTP_X_REQUESTED_WITH']
的技巧,检查我的 leash shell.
并且如果您在具有映射 {command: reply}
的文件中有 json 对象,您可以这样做:
$.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]);
}
});
});
如果你也有参数,你将需要更复杂的逻辑,