簡體   English   中英

如何在后台處理發布請求

[英]How to make a post request processed in the background

我目前有以下按鈕:

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

此按鈕啟動“服務”的當前狀態 - 離線/在線等。

然后頁面加載並使用 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;?>'">

上面的代碼刷新了服務的狀態。

這有一些元素,但是使用 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);

我希望我已經理解你的問題,這有助於讓你走上正軌。

您可以使用$.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
        }
    });
}

,然后將此函數設置為按鈕的單擊處理程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM