0
我確實想用Ajax發送一個HTTP請求並且當用戶點擊一個接收響應(圖片鏈接從數據庫)鏈接。我放在Ajax函數調用中的參數是通過PHP中的循環獲得的點擊鏈接類的值。我認爲這是一個有點混亂。這裏是我的代碼Ajax請求點擊鏈接,它的類值是由PHP得到的沒有得到任何迴應
在阿賈克斯的函數調用:的index.php
<script>
var current = 0;
function showPics(str) {
if (str=="") {
document.getElementById("displayPic").innerHTML="";
return;
}
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("displayPic").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getpics.php?q="+str,true);
xmlhttp.send();
}
</script>
getpics.php
<?php
$q = $_GET["q"];
$host = "127.0.0.1";
$db = "pcqsp";
$user = "root";
$pass = "";
try {
$conn = new PDO("mysql:host=$host; dbname=$db", $user, $pass);
} catch(Exception $e) {
die('Erreur : ' . $e->getMessage());
}
$req = $conn->prepare('SELECT * FROM screenshot WHERE id_work = :id_work');
$req->execute(array('id_work' => $q));
while ($data = $req->fetch())
{
echo "<img class='popup_pics' src='" . $data['link_screenshot'] . "' />";
}
$req->closeCursor();
?>
上Ajax調用的index.php
<?php
// Open a database connection
$host = "127.0.0.1";
$db = "pcqsp";
$user = "root";
$pass = "";
try {
$conn = new PDO("mysql:host=$host; dbname=$db", $user, $pass);
} catch(Exception $e) {
die('Erreur : ' . $e->getMessage());
}
$req = $conn -> query('SELECT * FROM work');
$i = 1;
while ($data = $req -> fetch()) { ?>
<div class="image-even">
<img src="<?php echo $data['cover_work'] ?>" width="421" height="590" />
</div>
<div class="more">
// Here's the problem
<a class="<?php echo $i ?>-popup" href="#displayPics">More details</a>
</div>
<?php
$i ++;
}
?>
<script type="text/javascript">
$current = 0;
$('a[class*="popup"]').click(function(){
current = $(this).attr('class').charAt(0);
showPics(current); //Ajax function call
});
</script>
當我沒有做通過PHP循環(我是靜態做寫作:1-popup
,2-popup
,等一切工作。
請問你有解決這個問題的辦法嗎?謝謝。
謝謝你執行你的JavaScript這是可能的。但它仍然沒有任何東西.. – Copernic
你可以看到在你的瀏覽器控制,如果請求正在產生一個有效的迴應 – DevZer0
@DevZero謝謝你的時間:)它給了我'狀態:200 OK'和'大小:222B 0B' – Copernic