簡體   English   中英

通過JQuery ajax執行PHP函數

[英]Executing a PHP function via JQuery ajax

我知道不可能簡單地通過ajax調用函數。 因為它僅通過HTTP標頭發送數據。 但是,我正在努力達成目標。 我試圖通過單擊一個按鈕來執行一段PHP代碼。 該代碼包含一個shell_exec("omxplayer file.mp3")因此,我的最終目標是要加載頁面,顯示一個按鈕,然后單擊該按鈕即可執行這段代碼(shell命令)。

我一直在尋找解決方案,卻沒有找到解決方案,即使有很多問題與我的標題相似。

我如何實現這個概念?

編輯:我的最終目標是使用shell_exec()在Linux機器上使用omxplayer開始播放文件。

您可以使用.get()

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
    $("button").click(function() {
        $.get("script.php?code=myFunction", function(data, status) {
            alert("Data: " + data + "\nStatus: " + status);
        });
    });
});
</script>
</head>
<body>
    <button>Execute Command</button>
</body>
</html>

script.php的

if (!empty($_GET['code']) {
    $output = shell_exec(<do shell command here>):
    echo $output;
}

以下假設xxx是您的PHP文件, output是來自xxx文件的響應:

button.onclick = function() {
    $.ajax({
        url: '/my/site/xxx.php',
        data: {action: 'test'},
        type: 'post',
        success: function(output) {
            alert(output);
        }
    });
};

您正在以錯誤的方式看待事物。

創建一個單獨的頁面,該頁面執行exec命令並顯示結果。

創建一個界面頁面,在該頁面上-您有多種選擇-當用戶單擊按鈕時,您會將他發送到exec頁面。

我假設您需要或想要將數據提供給exec命令。 帶有exec命令的頁面可以處理使用GET和更安全的POST(或REQUEST)發送的值,就像其他任何html表單一樣。

如果您想為老式的瀏覽器bash實現營造一種現代感,則可以選擇幾種方法。

  1. 屈服於自我。 每次您提交該頁面時,都會使用新數據重新繪制頁面,並且新執行程序將運行。

  2. 提交到目標iframe。 界面將持續存在,iframe將更新內容。

  3. xhtmlhttp發布(即使不是必須的,也可以是異步或“ ajax”),並使用響應-從單獨的php頁面更新div的內容。

暫無
暫無

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

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