2017-11-25 88 views
1

新秀PHP開發人員想要實現我的功能,像這樣:如何調用PHP函數,返回其結果在其他地方

  • 呼叫從<a>一個PHP函數的參數(這是我的菜單鏈接)

  • 返回一個單獨<div> PHP函數輸出(這是內容區域)

我已經創建了我的樂趣ctions和所有的工作都很好,但我無法通過從菜單調用它來實現它。我的猜測是我需要AJAX?

任何鉛讚賞

+0

這正是阿賈克斯。 https://www.w3schools.com/xml/ajax_php.asp你可以找到php的例子 – geekido

+0

AJAX是不相關的。您正在尋找的術語是「API」。 API可以是同步的也可以是異步的。 –

+0

但是,建議使用Ajax(異步),以提供更好的用戶體驗,因爲這樣可以在不改變瀏覽器位置的情況下交換請求和數據 – TheMintyMate

回答

0

是AJAX是要走的路。

下面是使用jQuery和AJAX一個小例子:

<a role="button" data-someAction="myAction">My action</a> 
<div id="action_result"></div> 

<!-- load jQuery libraries --> 
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> 

<script type="text/javascript"> 

    $(document).ready(function() { 

     $('a').click(function() { 

      $.ajax({ 
       type: 'POST', 
       url: 'action.php', 
       data: $(this).attr('data-someAction'), 
       success: function (data) { 

        $('#action_result').html(data); 

       } 
      }); 

     }); 

    }); 
</script> 

PHP

$code = <<<HERE 
    function someAction() { 
    echo 'awesome'; 
    } 
HERE; 

echo $code; 
0

調用它,你需要設置一個事件處理程序,以檢測是否a已被點擊。即:

HTML:

<a href="something.php" id="link"></a> 

JS:

function handler(){ 
    console.log("Clicked!"); 
    somefunction(); 
} 

document.getElementById("link").addEeventListener("click",handler); 

的jQuery:

$("#link").click(function(event){ 
    //ajax here... 
}); 

https://www.w3schools.com/jsref/met_document_addeventlistener.asp

相關問題