ajax加载不同的php页面

时间:2015-06-02 02:49:22

标签: php jquery

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

例如,如果我点击开始按钮,它将运行启动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');}

2 个答案:

答案 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页面来处理请求。您可以拥有一个处理startstop请求的页面,也可以为每个页面设置不同的页面。

示例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)

你能做的是

  1. 添加数据任务属性,因此我们可以编写单个ajax for 所有
  2. 添加其他课程trigger-ajax
  3. 将输入更改为按钮或将输入类型更改为按钮

        

  4. 使用我们添加的类

    对点击事件进行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)
        }
    })
    });
    
  5. 在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;
        }
    }