ajax加载不同的php页面

ajax加载不同的php页面,php,jquery,Php,Jquery,如何调用不同页面上的函数 例如,如果单击start按钮,它将运行启动tomcat服务器所需的代码 以下是主页的代码: <input name="submit" class= "green" id ="start" type="submit" value=" Start "> <input name="submit" id = "stop" class='red' type="submit" value=" Stop "> 有两种不同的方法可以用来完成这类任务。我会这样做

如何调用不同页面上的函数

例如,如果单击start按钮,它将运行启动tomcat服务器所需的代码

以下是主页的代码:

<input name="submit" class= "green" id ="start" type="submit" value=" Start ">
<input name="submit" id = "stop" class='red' type="submit" value=" Stop ">

有两种不同的方法可以用来完成这类任务。我会这样做:

首先,我将用
标记替换
标记。这更像是个人偏好,而不是功能上的真正变化,但由于您是通过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页面来处理请求。您可以使用一个页面来处理
开始
停止
请求,也可以为每个请求使用不同的页面

示例
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');
}
你能做的是

  • 添加数据任务属性,这样我们就可以为 全部
  • 添加一个附加类,
    trigger ajax
  • 将输入更改为按钮或将输入类型更改为按钮

  • 使用我们添加的类对click事件进行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;
        }
    }
    

  • 谢谢..第1步改为button,我添加了onclick=“start()”value=“start”。.第2步改为函数start(){$.post('main.php',{data:'start'},函数(returnedData){//可以选择对返回的数据执行一些操作,如警报“成功”或“失败”警报(“Start Successfuly”);};}最后一个如果($data==Start)但在php文件中仍然不起作用,请确保在单词
    Start
    周围有引号,因为它是一个字符串。谢谢。用另一个解决方案完成。无论如何,这对我也很好。我很快就会尝试
    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;
        }
    }