我什至不知道我是否在正确的方向上使用,而且我对ajax / jquery东西还很陌生。
我想在一页上加载20个类别的缩略图。当用户单击拇指时,将在模式上以全尺寸显示。然后,我希望用户能够看到该类别的下一张图像。
现在,当我单击图像时,它仅显示空弹出窗口,并且控制台中没有错误。
所以这是我显示类别图像的地方
// 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
中
if(!empty($_POST["album_id"]) && !empty($_POST["image_id"])) {
$album_id = $_POST['album_id'];
$image = $_POST['image_id'];
$value = $pdo->prepare('SELECT * FROM images WHERE image_album = ? ORDER BY image_id = ? ASC');
$value->bindParam(1, $album_id, PDO::PARAM_INT);
$value->bindParam(2, $image_id, PDO::PARAM_INT);
$value->execute();
$result = $value->fetch();
foreach ($result as $row)
{
echo '
<section id="gallery">
<div class="gallery-content fullscreen"><a class="close-button"><i class="icon-close"></i></a>
<div class="gallery">
<div class="loading-spinner"></div>
<div id="images" class="owl-carousel">
<div class="item"><figure><img src="images/gallery/'.$row['image_name'].'" /></figure></div>
</div>
<div class="controls"></div>
</div>
</div>
</section>
';
}
当用户单击缩略图时,ajax-gallery.php
中回显中的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) {
});
});
});
更新:
这是当你指着拇指
参考方案
一种选择是将这些值附加到网址“ ajax-gallery.php?album_id = your_album_id&image_id = your_image_id”
将变量添加到网址后,您可以执行以下操作:
$(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中获得variabels。
可能您必须执行“ $ _GET [” album_id“]”我没有测试过,所以让我知道。祝您工作顺利!
我正在尝试使用以下代码将新文件写入服务器error_reporting(E_ALL); ini_set('display_errors', 1); if($_SERVER['REQUEST_METHOD'] == "POST") { $html = $_POST['html'];…
CodeIgniter更新查询被执行两次 - php我正在使用CodeIgniter 2.2。每次访问页面时,我都必须用+1更新数据库。代码可以工作,但是每次都会增加+2。示例:如果是total views=2,则在单击页面后total views应该是3,但是数据库中的值是4。我确定我在控制器中仅调用一次模型add_one_to_view_image。控制者 function view(){ $view_i…
preg_replace排除<a href='''> </a> PHP - php我正在使用preg_replace来替换带有href标签的文本中的关键字,我的正则表达式工作非常好,现在我的代码是:$newstring2 = preg_replace("/\p{L}*?".preg_quote($match[$i])."\p{L}*/ui", "<a href='"…
故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…
通过php表单修改我的xml文件 - php这是我的xml文件和下面的php代码。我输入了一个输入类型,它将按名字搜索学生。然后将显示有关特定学生的信息,并且将显示另一个按钮更新。问题是我想在那之后修改信息。如何通过标签名称获取元素,以便可以修改有关特定学生的信息?<students> <student> <firstname>John</firstname&…