如何在不同的页面上调用函数?
例如,如果我点击开始按钮,它将运行启动tomcat服务器所需的代码。
以下是主页的代码:
<input name="submit" class= "green" id ="start" type="submit" value=" Start ">
<input name="submit" id = "stop" class='red' type="submit" value=" Stop ">
这是执行程序的第二页。
function (tomcatstart){
$ssh->exec('service tomcat start');}
答案 0 :(得分:0)
您可以采取几种不同的方法来完成此类任务。以下是我将如何做到这一点:
首先,我将<input>
代码替换为<button>
代码。这是个人偏好,而不是真正的功能变化,但由于您通过AJAX发送请求,因此您不需要表格或输入。
其次,我创建JS函数来发出AJAX请求,如下所示:
function start() {
$.post('urlToStart.php', {
data : 'Some data'
}, function(returnedData) {
//Optionally do something with the returned data, like alert 'Success' or 'Failed'
alert(returnedData);
});
}
最后,您需要一个php页面来处理请求。您可以拥有一个处理start
和stop
请求的页面,也可以为每个页面设置不同的页面。
示例urlToStart.php
:
<?php
$data = $_POST['data'];
if($data !== null) {
tomcatstart();
echo "Success";
}
else {
echo "Failed: " . print_r(error_get_last()); //Get the error message so you know what happened
}
function tomcatstart(){
$ssh->exec('service tomcat start');
}
那应该让你顺利开始
答案 1 :(得分:0)
你能做的是
trigger-ajax
将输入更改为按钮或将输入类型更改为按钮
使用我们添加的类
对点击事件进行jquery调用jQuery(".trigger-ajax").on('click', function(){
var _context = jQuery(this);
jQuery.ajax({
url: 'ajaxrequest.php',
type: "post",
data:{
task: _context.attr('data-task')
},
success:function(response){
console.log(response)
}
})
});
在php中处理它
if(!empty($_POST['task'])){
switch(trim(strtotlower($_POST['task']))){
case "start-tomcat":
$ssh->exec('service tomcat start');
break;
case "stop-tomcat":
$ssh->exec('service tomcat stop');
break;
}
}