首頁  >  問答  >  主體

如何在使用$.post方法時解決無法存取$_POST值的問題

<p>我在一個頁面向另一個頁面發送資料時遇到了很多麻煩。我正在開發一個電影網站,在首頁上顯示電影,當我點擊電影時,我想訪問電影詳情頁面,其中包含評論。事實上,我想要將電影ID發送到movie-detail.php頁面,因為我想在電影詳情頁面的評論部分中篩選與該電影相關的評論。這是在首頁中的電影海報,透過在一個js檔案中使用append創建的,當我點擊它時:</p> <pre class="brush:php;toolbar:false;"><div class="movie-poster" onclick="loadComments(${movie.id})" data-movie-id="${movie .id}">... ...</pre> <p>它觸發了這個函數:</p> <pre class="brush:php;toolbar:false;">function loadComments(movieId){ $.post("/web/action/show-comments.php", { movieId }); }</pre> <p>這是show-comments.php:</p> <pre class="brush:php;toolbar:false;"><?php include "../../db/db_conn.php"; if(!isset($_SESSION)) session_start(); if(isset($_POST['movieId'])) $movieId = $_POST['movieId']; $userId = $_SESSION['id']; $sql = "SELECT * FROM reviews WHERE movie_id="."$movieId"; #WHERE movie_id="."$movieId"; $result = pg_query($conn,$sql); while ($row = pg_fetch_row($result)) { ?> <div style="background-color: #aaa; padding: 8px 16px; margin: auto; margin-bottom: 8px; border:1px solid black; border-radius:10px; border-left:4px solid black; widius:10px; border-left:4px solid black; width: 80%;"> <hr style="opacity:0.9"> <p style="background-color: grey; padding: 16px; border-radius:10px">評論者:<?php echo "$row[2]" ?></p> <hr style="opacity:0.9"> <p> <?php echo "$row[1]" ?></p> </p> <hr style="opacity:0.9"> <span class="fa fa-star checked"></span> <span class="fa fa-star checked"></span> <span class="fa fa-star checked"></span> <span class="fa fa-star"></span> <span class="fa fa-star"></span> <hr style="opacity:0.9"> </div> <?php } ?></pre> <p><code>show-comments.php</code>被包含在<code>movie-detail.php</code>頁面的評論部分div中,但當我嘗試進入該頁面時,它總是給我關於$movieId變數的未定義數組鍵錯誤。我唯一需要的是電影ID。我嘗試了很多方法,使用cookie和隱藏輸入字段,但似乎都不起作用,總是給我這個錯誤。我嘗試列印<code>$_POST</code>數組,但它是空的。我做錯了什麼? </p>
P粉043432210P粉043432210455 天前536

全部回覆(1)我來回復

  • P粉764836448

    P粉7648364482023-08-16 09:42:02

    嘗試以下方法,如果有錯誤請修正。 我認為你沒有正確使用 $.post() 函數,因為 movieId 沒有正確格式化為鍵值對。 請嘗試以下方法

    function loadComments(movieId) {
      $.post("/web/action/show-comments.php", { movieId: movieId });
    }

    回覆
    0
  • 取消回覆