好的,我有一个名为albums.php的页面,代码如下:
<?php
require_once('./config.php');
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$album = $mysqli->query("SELECT * FROM Albums");
print('<div id="grid">');
print('<ul>');
while ($row = $album->fetch_assoc()) {
$cover = $row['Album_Cover'];
$name = $row['Album_Name'];
$id = $row['Album_ID'];
print ('<li>');
print('<form method="POST" action="">');
print("<input type='image' src=$cover name='image' id='image' class=$id>");
print("</form>");
print('<br/>');
print ("$name");
print ('</li>');
}
print('</ul>');
print('</div>');
print('<br/>');
print('<br/>');
print('<br/>');
print('<br/>');
$mysqli->close();
?>
DB_HOST,DB_USER,DB_PASSWORD和DB_NAME来自config.php。 albums.php(再次,上面的代码)链接到脚本button.js,其代码如下:
$("#image").click(function(e) {
e.preventDefault();
var id = $(this).attr('class');
var dataString = 'id='+id;
$.ajax({
type: "POST",
data: dataString,
url: "./pictures.php",
success: function(data) {
alert(data);
}
});
});
我的目标是使用ajax将点击图像的id传递给pictures.php。我的pictures.php代码如下:
<?php
require_once('./config.php');
require_once('./albums.php');
$id = $_POST['id'];
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$pictures = $mysqli->query("SELECT * FROM Pictures WHERE Album_ID = $id");
print('<div id="grid">');
print('<ul>');
while ($row = $pictures->fetch_assoc()) {
$picture = $row['Picture'];
print("<li><img src=$picture class='thumbnail'></li>");
}
print('</ul>');
print('</div>');
$mysqli->close();
?>
我是否还必须在pictures.php中链接button.js脚本?除此之外,我无法想到这段代码可能存在的问题。顺便说一下,这三个文件都存储在我服务器上的同一个文件夹中,所以我相信我正确地访问它们。任何帮助将不胜感激!
答案 0 :(得分:1)
仅举几例:
正如评论中所提到的,Ids必须是唯一的,但它不会使代码崩溃。
你必须把你的js代码放在构造图像元素的php代码之前,或者你必须使用jquery&#39; s $(document).ready(function(){//your code})
;确保您正在为图像注册click事件侦听器。
关于你的js改变:
var dataString = 'id='+id;
到var dataString = id;
和
url: "./pictures.php"
到网址:"pictures.php"