好吧,我对jQuery,ajax等一无所知,我有一个jQuery/ajax脚本,我已经修改了它来执行我所需要的操作,这是在加载图像时,通过将“视图”增加1来更新mysql数据库。如果我在safari里,这个运行非常完美,但由于某种未知的原因,它看起来并不起作用,或者至少在铬中是间歇性的。我还没有尝试其他浏览器。jQuery的加载()不工作在铬?
这里是jQuery的:
$('.view-count').load(function(){
var ClientID=$(this).attr('data-ClientID');
$.ajax({url:"inc/view-count.php?ClientID="+ClientID,cache:false,success:function(result){
return true;
}});
});
的HTML/PHP的包括所述类和数据的ClientID:
$output .= '<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4"><a href="app.php?id=' . $id . '"><img class="img-responsive center-block img-border view-count" data-ClientID="' . $id . '" src="images/efits/' . $efit . '" alt="' . $bname . '" /></a></div>';
和最后的视图count.php:
$clientID = (int) $_GET['ClientID'];
try {
$querySql = 'SELECT * FROM clients WHERE id LIKE :clientid';
$countquery = $db->prepare($querySql);
$countParams = array(':clientid'=>$clientID);
$countquery->execute($countParams);
$result = $countquery->fetch(PDO::FETCH_ASSOC);
$views = $result['views'];
} catch (PDOException $e) {
echo 'failed to get client views';
}
try {
$countSql = 'UPDATE clients SET views=:newview WHERE id LIKE :id';
$count = $db->prepare($countSql);
$countParams = array(':newview' => $views+1,':id' => $clientID);
$count->execute($countParams);
} catch (PDOException $e) {
echo "failed to increase view count";
}
为什么我会遇到铬问题,但不是safari?这是与图像缓存有关吗?或者某些代码已被弃用?正如我所说,我是一个完全新手jQuery/ajax,所以我甚至不知道从哪里开始尝试解决问题!我很惊讶,我设法让它工作在第一位!
一如既往,任何帮助非常感谢!
感谢
王小强
'.view-count'可能是一个不支持'load'事件的元素。 – GillesC
??我不明白? view-count是一个图像的类?并且它在safari中工作,每次都没问题......你会建议如何解决这个问题? – Kaylee
在浏览器控制台中是否有任何错误?其他浏览器(FF,IE)如何? [看到类似的问题](https://forum.jquery.com/topic/works-in-safari-but-no-other-browser-not-firefox-chrome-or-ie-why)。 – Vucko