[英]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.