如何使用jquery加载在php文件中调用函数?

时间:2018-10-28 01:36:55

标签: javascript php jquery ajax

我正在尝试显示我从数据库检索到的数据,但未显示。我在文件getComments.php中有一个名为“ getComments(page)”的函数,页面只是选择该数据库的整数参数。如您所见,我需要调用此函数来打印用户评论。我正在尝试使用“加载”,但未成功,我只想调用此函数以加载页面上的评论。预先谢谢你。

<?php

use TastyRecipes\Controller\SessionManager;
use TastyRecipes\Util\Util;

require_once '../../classes/TastyRecipes/Util/Util.php';
Util::init();

function getComments($page){
   echo "<br><br>";
   $controller = SessionManager::getController();
   $controller->getComments($page);
   SessionManager::setController($controller);
}

在我想使用Java脚本显示它的网页中,我尝试了以下

<div class="page" id="comments">
  <p class="style">Comments</p>
  <button class="btn" id="load-comments">See Previous Comments</button><br> 
  <br><br>

  <?php
    if(isset($_SESSION['u_id'])){
       echo "  <input type='hidden' id='uid' value = '".$_SESSION['u_uid']."'>
          <input type='hidden' id='date' value = '".date('Y-m-d H:i:s')."'>
          <textarea id='message'></textarea><br>
          <button class = 'btn' type = 'submit' id = 'submitCom'>Comment</button>";
    }
    else{
      echo "<p>Please log in to comment</p>";
    }
   ?>
</div><br>
<script>
  $(document).ready(function(){
    $("#load-comments").click(function(){
     document.getElementById('#comments').innerHTML = 
    $("#comments").load("../extras/getComments.php", getComments(1));
    });
  });
</script>

1 个答案:

答案 0 :(得分:0)

只需将您的click处理程序更改为此:

$("#load-comments").click(function(){
    $("#comments").load("../extras/getComments.php", { page: 1 }); //i also added where the elements are loaded
});

并在getComments.php中(如果可行,否则,您可能需要创建一个新的PHP文件,该文件调用getComments()函数并从单击处理程序中调用它),添加以下内容:

if (isset($_POST['page'])) {
    getComments($_POST['page']);
    // do any other necessary stuff
    exit;
}