如何在使用$.post方法时解决无法访问$_POST值的问题
P粉043432210
P粉043432210 2023-08-15 11:51:39
[PHP讨论组]
<p>我在一个页面向另一个页面发送数据时遇到了很多麻烦。我正在开发一个电影网站,在首页上显示电影,当我点击电影时,我想要访问电影详情页面,其中包含评论。事实上,我想要将电影ID发送到movie-detail.php页面,因为我想要在电影详情页面的评论部分中筛选与该电影相关的评论。这是在首页中的电影海报,通过在一个js文件中使用append创建的,当我点击它时:</p> <pre class="brush:php;toolbar:false;">&lt;div class="movie-poster" onclick="loadComments(${movie.id})" data-movie-id="${movie.id}"&gt;... ...</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;">&lt;?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)) { ?&gt; &lt;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%;"&gt; &lt;hr style="opacity:0.9"&gt; &lt;p style="background-color: grey; padding: 16px; border-radius:10px"&gt;评论者:&lt;?php echo "$row[2]" ?&gt;&lt;/p&gt; &lt;hr style="opacity:0.9"&gt; &lt;p&gt; &lt;?php echo "$row[1]" ?&gt;&lt;/p&gt; &lt;/p&gt; &lt;hr style="opacity:0.9"&gt; &lt;span class="fa fa-star checked"&gt;&lt;/span&gt; &lt;span class="fa fa-star checked"&gt;&lt;/span&gt; &lt;span class="fa fa-star checked"&gt;&lt;/span&gt; &lt;span class="fa fa-star"&gt;&lt;/span&gt; &lt;span class="fa fa-star"&gt;&lt;/span&gt; &lt;hr style="opacity:0.9"&gt; &lt;/div&gt; &lt;?php } ?&gt;</pre> <p><code>show-comments.php</code>被包含在<code>movie-detail.php</code>页面的评论部分div中,但当我尝试进入该页面时,它总是给我关于$movieId变量的未定义数组键错误。我唯一需要的是电影ID。我尝试了很多方法,使用cookie和隐藏输入字段,但似乎都不起作用,总是给我这个错误。我尝试打印<code>$_POST</code>数组,但它是空的。我做错了什么?</p>
P粉043432210
P粉043432210

全部回复(1)
P粉764836448

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

function loadComments(movieId) {
  $.post("/web/action/show-comments.php", { movieId: movieId });
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号