So lösen Sie das Problem, dass bei Verwendung der Methode $.post nicht auf den Wert $_POST zugegriffen werden kann
P粉043432210
P粉043432210 2023-08-15 11:51:39
0
1
575
<p>Ich habe große Probleme beim Senden von Daten von einer Seite zur anderen. Ich entwickle eine Film-Website, die Filme auf der Startseite anzeigt. Wenn ich auf einen Film klicke, möchte ich auf die Filmdetailseite mit Rezensionen zugreifen. Tatsächlich möchte ich die Film-ID an die Seite movie-detail.php senden, weil ich die Kommentare zu diesem Film im Kommentarbereich der Filmdetailseite filtern möchte. Dies ist das Filmplakat auf der Homepage, erstellt durch Anhängen in einer JS-Datei, wenn ich darauf klicke: </p> <pre class="brush:php;toolbar:false;"><div class="movie-poster" onclick="loadComments(${movie.id})" data-movie-id="${movie .id}">... ...</pre> <p>Es löst diese Funktion aus: </p> <pre class="brush:php;toolbar:false;">function loadComments(movieId){ $.post("/web/action/show-comments.php", { movieId }); }</pre> <p>Das ist 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; width: 80 %;"> <hr style="opacity:0.9"> <p style="background-color: grey; padding: 16px; border-radius:10px">Commenter:<?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> ist im Kommentarbereich der Seite <code>movie-detail.php</code> enthalten, aber wenn ich versuche, die Seite aufzurufen, Es gibt mir immer einen undefinierten Array-Schlüsselfehler in Bezug auf die Variable $movieId. Das Einzige, was ich brauche, ist die Film-ID. Ich habe viele Dinge versucht, Cookies verwendet und Eingabefelder ausgeblendet, aber keines scheint zu funktionieren, sodass ich immer diese Fehlermeldung bekomme. Ich habe versucht, das Array <code>$_POST</code> zu drucken, aber es war leer. Was habe ich falsch gemacht? </p>
P粉043432210
P粉043432210

Antworte allen(1)
P粉764836448

尝试以下方法,如果有错误请纠正。 我认为你没有正确使用 $.post() 函数,因为 movieId 没有正确格式化为键值对。 请尝试以下方法

function loadComments(movieId) {
  $.post("/web/action/show-comments.php", { movieId: movieId });
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage