我使用ajax和jQuery来查询数据库并显示数据库中的记录。
我正在追加结果。我遇到的麻烦是,当用户点击(这是一个移动应用程序)他们想要查看的文章时,应该将他们带到该特定文章的详细信息中。为此,我需要将该文章的ID发送到详细信息页面。
这是jQuery(我使用的是使用$$而不是$的Framework7)。这列出了文章:
function newsFeed() {
$$.ajax({
url: "newsfeed.php",
type: "POST",
dataType: "json",
success: function (data) {
$$.each(data, function (item) {
$$("#newsFeed").append(`
<li>
<a href="article.html?id=${data[item].id}" class="item-link item-content">
<div class="item-media"><img src="img/${data[item].n_pic}" width="80"></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title news-headline">${data[item].n_title}</div>
</div>
<div class="item-text"></div>
<div class="date-time">${data[item].n_dateTime}</div>
</div>
</a>
</li>
`);
});
},
});
我想获取用PHP发送的id
:
$url = filter_var($_GET['id'], FILTER_SANITIZE_URL);
$stmt = $link->prepare("SELECT `n_title` FROM `news` WHERE `id` = ?");
$stmt->bind_param("i", $url);
if (!$stmt->execute()) echo "Execute Error: ($stmt->errno) $stmt->error";
$result = $stmt->get_result();
if ($result) {
$row = $result->fetch_assoc();
$n_title = sanitize($row['n_title']);
echo $n_title;
} else {
echo "No record found";
}
$stmt->close();
我得到的错误是:
未定义的索引:id
所以,我猜php不能在jQuery中传递id。
答案 0 :(得分:1)
确保正确设置密钥:
article.html?${data[item].id}
应该是:
article.html?id=${data[item].id}
答案 1 :(得分:0)
我实际上在我的ajax调用中使用了page.query来获取id。 page.query在有人向我指出的文档中。