我花了最近几天与.hover脚本搏斗,该脚本将数据发布到php脚本,然后从数据库中检索相关数据。
将id数据发布到details.inc.php页面工作正常。脚本中的警报会检索并正确显示数据。
当我尝试将数据包含在div中时出现问题,似乎没有任何事情发生。 Firefox显示正在执行的脚本并检索正确的id信息。 我不知道从哪里来。我尽我所能,但我对java的理解是有限的 感谢您提前提供任何帮助。
鼠标悬停功能执行并从图像中检索id
<img src="#" class="latest" id="id_retrieved_from_DB">
id然后通过jquery和ajax传递,它从details.inc.php中检索链接到id的数据,然后检索到的数据应该包含在“details”div中
<script type="text/javascript">
//Mouse over
$(function(){
$('.latest').hover(function() {
id = $(this).attr('id');
$.ajax({
cache: false,
url: "details.inc.php",
data: 'hovered_id='+id,
success:function(data){
alert(data);//showing data correctly
//not working here
$("#details").load('details.inc.php', data);
}
});
return false;
}
});
</script>
details.inc.php
<?php require_once('../../Connections/userauthentication_conn.php'); ?>
<?php
require_once('../../includes/session_remap.inc');
require_once('../../includes/tNG_functions.inc.php');
?>
<?php
$KTColParam1_rsDetails = "0";
if (isset($_GET["hovered_id"])) {
$KTColParam1_rsDetails = (get_magic_quotes_gpc()) ? $_GET["hovered_id"] : addslashes($_GET["hovered_id"]);
}
mysql_select_db($database_userauthentication_conn, $userauthentication_conn);
$query_rsDetails = sprintf("SELECT tbl_entries.id_ent, tbl_entries.country_ent, tbl_entries.date_ent, tbl_entries.title_ent, tbl_entries.subject_ent, tbl_entries.description_ent, tbl_entries.image_ent, tbl_entries.url_ent FROM tbl_entries WHERE (tbl_entries.id_ent=%s) ORDER BY tbl_entries.date_ent DESC ", $KTColParam1_rsDetails);
$rsDetails = mysql_query($query_rsDetails, $userauthentication_conn) or die(mysql_error());
$row_rsDetails = mysql_fetch_assoc($rsDetails);
$totalRows_rsDetails = mysql_num_rows($rsDetails);
?>
<!-- Details -->
<a href="<?php echo $row_rsDetails['url_ent']; ?>" title="Go to <?php echo $row_rsDetails['title_ent']; ?>">
<?php
//show if file exists
if (file_exists("../../images/entries/" . $row_rsDetails['id_ent'] . "__img.jpg")) {
?>
<img src="../../images/entries/<?php echo $row_rsDetails['id_ent']; ?>__img.jpg" width="70" height="70">
<?php
}
//end show if file exists
?>
<p class="seriesName"><?php echo $row_rsDetails['subject_ent']; ?></p>
<h4 class="programTitle"><?php echo $row_rsDetails['title_ent']; ?></h4>
</a>
<!-- End -->
<?php
mysql_free_result($rsDetails);
?>
答案 0 :(得分:1)
你为什么要进行第二次ajax通话?
如果您已经在javascript中提供了数据,则可以替换:
$("#details").load('details.inc.php', data);
使用:
$("#details").html(data);
答案 1 :(得分:0)
如果$(“#details”)在脚本页面中,并且您希望显示结果的div,则只能使用load:
//Mouse over
var id = $(this).attr('id');
$("#details").load('details.inc.php', 'hovered_id='+id, function(data){alert(data);});
或者您可以使用$ .get()
Jquery手册 如果数据作为对象提供,则使用POST方法;否则,假设GET。
您的PHP脚本使用get。