Php 在模式窗口和ajax请求中显示旋转木马
我甚至不确定我是否走上了正确的道路,而且我对ajax/jquery非常熟悉 我尝试的是在一页上加载分类中的20个缩略图。当用户点击拇指时,它在模态上以全尺寸显示。然后我希望用户能够看到该类别的下一幅图像 现在,当我点击图像时,它只显示空的弹出窗口,并且在控制台中没有错误 这就是我展示分类图片的地方Php 在模式窗口和ajax请求中显示旋转木马,php,jquery,ajax,Php,Jquery,Ajax,我甚至不确定我是否走上了正确的道路,而且我对ajax/jquery非常熟悉 我尝试的是在一页上加载分类中的20个缩略图。当用户点击拇指时,它在模态上以全尺寸显示。然后我希望用户能够看到该类别的下一幅图像 现在,当我点击图像时,它只显示空的弹出窗口,并且在控制台中没有错误 这就是我展示分类图片的地方 // some other code here $result = $pdo->prepare("SELECT * FROM images WHERE image_album =
// some other code here
$result = $pdo->prepare("SELECT * FROM images WHERE image_album = ? ORDER BY image_id ASC LIMIT 24");
$result -> bindParam(1, $album_id, PDO::PARAM_INT);
$result->execute();
echo '
<div id="gallery" class="section-scroll main-section">
<section id="gallery-wrapper" class="">
<div class="gallery-content three-columns">';
for($i=0; $row = $result->fetch(); $i++)
{
echo '
<a class="mix category-2 open-overlay" href="ajax-gallery.php" >
<img width="1000" height="600" src="images/gallery/'.$row['image_name'].'" data-src="images/gallery/'.$row['image_name'].'"/>
<div class="hidden-xs">
<div>
<span><h3>Full size</h3></span>
</div>
</div>
</a>';
}
// some more code
当用户单击缩略图时,ajax gallery.php
中的echo中的HTML是旋转木马
这是js部分,我相信这是错误的
$(document).ready(function(){
$('#gallery, #a').click(function() {
$.post('ajax-gallery.php',
{
"album_id": $(this).attr('album_id'),
"image_id": $(this).attr('image_id')
},
function (response) {
});
});
});
更新:
这是指拇指的时候
您能在执行单击事件的地方发布HTML代码吗?您还引用了一个Id为“a”的元素,您是否也确定这一点,或者希望引用锚定标记
。还必须检查是否确实有一个名为“image_id”的属性,我对此表示怀疑。
总而言之,请在执行单击操作的地方发布html代码,以便我可以帮助您。您可以在执行单击事件的地方发布html代码吗?您还引用了一个Id为“a”的元素,您是否也确定这一点,或者希望引用锚定标记
。还必须检查是否确实有一个名为“image_id”的属性,我对此表示怀疑。
总而言之,请在执行单击操作的地方发布html代码,以便我可以帮助您。一个选项是将这些值附加到url“ajax gallery.php?album\u id=您的\u album\u id&image\u id=您的\u image\u id” 将变量添加到url后,可以执行以下操作:
$(document).ready(function(){
$('#gallery .mix category-2').click(function() {
var url = $(this).attr('href')
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
})
.done(function(data) {
console.log("success");
})
.fail(function() {
console.log("error");
})
})
})
通过这种方式,您将在ajax-gallery.php中获得变量。
也许你必须做“$\u GET[“album\u id”]”我没有测试它,所以请告诉我。祝你工作顺利 一个选项是将这些值附加到url“ajax gallery.php?album\u id=your\u album\u id&image\u id=your\u image\u id” 将变量添加到url后,可以执行以下操作:
$(document).ready(function(){
$('#gallery .mix category-2').click(function() {
var url = $(this).attr('href')
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
})
.done(function(data) {
console.log("success");
})
.fail(function() {
console.log("error");
})
})
})
通过这种方式,您将在ajax-gallery.php中获得变量。
也许你必须做“$\u GET[“album\u id”]”我没有测试它,所以请告诉我。祝你工作顺利 你确定图像的路径是正确的吗?是的,100%确定。我发现我的错误在ajax部分,在那里我传递了相册id和图像id,以及来自
ajax gallery.php
的响应。如果我在ajax gallery.php
中放置了一些没有任何php的图像。。只是html,它们在模式旋转木马中可见。您可以在执行单击事件的位置发布html代码吗?您确定图像的路径正确吗?是的,100%确定。我发现我的错误在ajax部分,在那里我传递了相册id和图像id,以及来自ajax gallery.php
的响应。如果我在ajax gallery.php
中放置了一些没有任何php的图像。。只是html,它们在模式旋转木马中可见。你能在执行点击事件的地方发布html代码吗?嘿,点击是在代码的第一部分<代码>。发布问题的图像。当你指向拇指时,你会看到全尺寸的,你可以点击它..Ok@jordan,就像我想的那样。错误在ajax调用中。您在使用$(this.attr('album\u id')引用的锚定标记中没有任何属性“album\u id”和“image\u id”。一个选项是将这些值附加到url“ajax gallery.php?album\u id=您的\u album\u id&image\u id=您的\u image\u id”.我已经编辑了我的第一个回复!在我给你的第二个答案中看到上面编辑的代码嘿,点击是在代码的第一部分<代码>
。发布问题的图像。当你指向拇指时,你会看到全尺寸的,你可以点击它..Ok@jordan,就像我想的那样。错误在ajax调用中。您在使用$(this.attr('album\u id')引用的锚定标记中没有任何属性“album\u id”和“image\u id”。一个选项是将这些值附加到url“ajax gallery.php?album\u id=您的\u album\u id&image\u id=您的\u image\u id”.我已经编辑了我的第一个回复!在我给您的第二个答案中,请参见上面编辑的代码。您查询的returnet响应在“data”响应中。在你的控制台上看看这个,用它做点什么!!我将尝试向您解释发生了什么:首先,您必须更改从ajax-gallery.php返回的响应。实际上,您正在将查询返回的数据包装到foreach循环中,并在该循环中回显结果。这不是阿贾克斯期望他的回应。您需要返回一个结果数组,然后回显json_encode($results)。此数组将在“data”参数中传递给您一个ajax响应,然后您可以将返回的值输出到您的库中。我不能在这里改变你所有的代码。我很乐意帮助您,但您也需要帮助自己。您查询的returnet响应在“数据”响应中。在你的控制台上看看这个,用它做点什么!!我将尝试向您解释发生了什么:首先,您必须更改从ajax-gallery.php返回的响应。实际上,您正在将查询返回的数据包装到foreach循环中,并在该循环中回显结果。这不是阿贾克斯期望他的回应。您需要返回一个结果数组,然后回显json_encode($results)。此数组将在“data”参数中传递给您一个ajax响应,然后您可以将返回的值输出到您的库中。我不能在这里改变你所有的代码。我很乐意帮助你,但你也需要帮助自己。