OK, ich weiß absolut nichts über jQuery, AJAX etc, ich habe ein jQuery/AJAX-Skript, das ich geändert habe, um zu tun, was ich brauche, nämlich das Laden eines Bildes, Aktualisierung der MySQL-Datenbank durch Erhöhung von "views" um 1 Das läuft perfekt, wenn ich auf Safari bin, aber aus irgendeinem unbekannten Grund scheint es nicht zu funktionieren, oder es ist zumindest intermittierend bestenfalls in Chrom. Ich habe andere Browser noch nicht ausprobiert.jQuery load() funktioniert nicht in Chrom?
hier ist die 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;
}});
});
die html/php, die die Klasse und Daten ClientID umfasst:
$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>';
und schließlich der Blick-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";
}
Warum sollte ich Probleme mit Chrom haben, aber nicht Safari? Hat es etwas damit zu tun, dass Bilder zwischengespeichert werden? oder vielleicht ist ein Teil des Codes veraltet? Wie ich schon sagte, ich bin ein kompletter Neuling mit jQuery/Ajax, also würde ich nicht einmal wissen wo ich anfangen soll zu versuchen und das Problem zu lösen! Ich bin überrascht, dass ich es geschafft habe, es überhaupt zum Laufen zu bringen!
wie immer wird jede Hilfe sehr geschätzt!
Dank
Kaylee
'.view-count' ist wahrscheinlich ein Element, das das 'load'-Ereignis nicht unterstützt. – GillesC
?? Ich verstehe nicht? View-Count ist eine Klasse für ein Bild? und es funktioniert in Safari, jedes Mal, kein Problem ... Was würden Sie vorschlagen, das Problem zu beheben? – Kaylee
Haben Sie Fehler in Ihrer Browser-Konsole? Wie wäre es mit anderen Browsern (FF, IE)? [Siehe dieses ähnliche Problem] (https://forum.jquery.com/topic/works-in-safari-but-no-other-browser-not-firefox-chrome-or-ie-ie-why). – Vucko