如何在后台处理发布请求

时间:2015-04-11 19:34:39

标签: javascript php jquery dom

我目前有以下按钮:

<input class="submitbutton" name="start" type="button" value="start"
    onClick="window.location='vservermanage.php?_v=<?=$this->vid;?>'">

此按钮可启动“服务”的当前状态 - 离线/在线等。

然后页面加载&amp;使用if语句我可以读取它是离线还是在线。 (PHP)

如何在后台发布此帖子 - 一旦返回结果处理javascript代码,页面刷新时也会出现以下代码。

<?php if($this->msgsessuccess) { ?>
    <div id="successbox"><?=$_lang[$this->msgsessuccess];?></div>
<?php } ?> 
<?php if($this->msgseserror) { ?>
    <div id="errorbox"><?=$_lang[$this->msgseserror];?></div>
<?php } ?>

我还有以下代码,我想要做同样的事情我想要自动改为(每2秒)

<input class="submitbutton" name="refresh" type="button" value="refresh"
    onClick=" window.location='vservermanage.php?_v=<?=$this->vid;?>'">

上面的代码刷新了服务的状态。

2 个答案:

答案 0 :(得分:1)

这有一些元素,但所有这些都可以通过JQuery轻松实现。我假设你在你的HTML头中包含了JQuery。

为了说明您可以点击提交按钮上发生的点击,然后触发AJAX帖子,然后对结果执行某些操作。一些示例代码:

        $('.submitbutton').on('click', function(e) {
          // Stop the browser from doing anything else
          e.preventDefault();
          // Do an AJAX post
          $.ajax({
            type: "POST",
            url: "vservermanage.php",
            data: {
              _id: id_value // various ways to store the ID, you can choose
            },
            success: function(data) {
              // POST was successful - do something with the response
              alert('Server sent back: ' + data);
            },
            error: function(data) {
              // Server error, e.g. 404, 500, error
              alert(data.responseText);
            }
          });
        });

id_value参数需要设置或获取,可能来自原始呈现页面。例如,您可以将ID存储在隐藏的表单字段中,例如

<input type="hidden" name="id_value" id="id_value" value="<?php echo $id;?>">

...然后像

一样包含它
_id: $("#id_value").val()

关于第二个查询,您可以在标准JavaScript计时器中运行上述POST,例如

setInterval(function(){ 
  $.ajax({
    ...
    });
}, 2000);

我希望我理解你的问题,这有助于你走上正轨。

答案 1 :(得分:0)

您可以使用$ .ajax()或$ .post(),甚至$ .get(),但我不建议允许GET请求修改数据。一些事情:

function startProcess() {
    $.ajax({
        url: "vservermanage.php?_v=<?=$this->vid;?>",
        type: "POST",
        success: function(data) {
           // proces the data if interested
           // or just do what you need
        }
    });
}

,并将此功能设置为按钮的点击处理程序。