我没有收到这段代码的任何输出。什么可能是错误。
terminal.html
<html>
<head>
<link href="/css/webterminal.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery-1.5.2.js"/>
<script type="text/javascript">
function shell_execute(str) {
$.ajax({
url: 'exec.php',
dataType: 'text',
data: {
q: str
},
success: function (response) {
$('#txtOut').append(response);
});
}
</script>
</head
<body">
<div class="container">
<h2>UNIX Web Based Terminal 1.0</h2>
<br />
<p><b>output</b></p>
<form>
<span id="User"></span>< <input type="text" id="txtcmd" onkeyup="shell_execute(this.value)" class="textbox" size="20" />
</form>
<div class="output">
<p><span id="txtOut"></span></p>
</div>
</div>
</body>
</html>exec.php
<?php
$q=$_GET["q"];
$output=shell_exec($q);
echo "<pre>$output</pre>";
?>发布于 2011-04-12 12:15:55
您需要从文本输入元素中获取值,并在将其传递给脚本之前将其放入str。
比如:
var str = $("#txtcmd").val();发布于 2011-04-12 12:11:30
而不是
<script type="text/javascript" src="jquery-1.5.2.js"/>像这样关闭脚本标记:
<script type="text/javascript" src="jquery-1.5.2.js"></script>发布于 2011-04-12 12:11:44
在terminal.html中,str是干什么的?
您应该传递一些值来获得输出。
试试echoing $_GET['q'];,你会知道的
https://stackoverflow.com/questions/5634924
复制相似问题