gpt4 book ai didi

javascript - 单击 ajax 上的“喜欢”按钮不起作用

转载 作者:行者123 更新时间:2023-11-28 07:50:37 25 4
gpt4 key购买 nike

我想使用 jquery 在点击时发出 ajax 请求,但它不起作用:

这就是我所拥有的:

按钮:

$photos_box .= '<a id="' . $imgID . '" class="like_button">' . $like . '</a>';

可能脚本中有错误:

// Like function
$('.like_button').click(function() {
$(this).toggleClass('liked');

var status = '';
if ($(this).hasClass('liked')) {
status = 'like';
$(this).html('Ya no me gusta');
console.log('like_works');
} else {
status = 'unlike';
$(this).html('Me gusta');
console.log('unlike_works');
}

var data = {
img_id : this.id,
sta : status
};

$.ajax({
type : 'POST',
url : '/includes/like.php',
data : data
}).done(function(reslike) {
if (reslike == 1) console.log('ajax_works');
});
});

这是 like.php 文件:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

sec_session_start();

// User id
if (login_check($mysqli) == true) {
$user_id = $_SESSION['user_id'];
}

$img_id = $_POST['img_id'];
$status = $_POST['sta'];

$stmt = $mysqli->prepare("SELECT * FROM img_likes WHERE img_id = ? AND user_id = ?");
$stmt->bind_param("ii", $img_id, $user_id);
$stmt->execute();

$result = $stmt->get_result();
$usr_likes = $result->num_rows;

if ($status == 'like') {
if ($usr_likes == 0) {
$stmt->close();

$stmt = $mysqli->prepare("INSERT INTO img_likes (img_id, user_id) VALUES(?, ?)");
$stmt->bind_param("ii", $img_id, $user_id);
$stmt->execute();
}
}

else if ($status == 'unlike') {
if ($usr_likes != 0) {
$stmt->close();

$stmt = $mysqli->prepare("DELETE FROM img_likes WHERE img_id = ? AND user_id = ?");
$stmt->bind_param("ii", $img_id, $user_id);
$stmt->execute();
}
}
}

终于!谢谢大家。希望我的代码可以帮助别人。

最佳答案

检查你的ajax请求中的URL,我不确定,但我不认为'../includes/like.php'是一个有效的URL,我认为你实际上必须给它一个有效的服务器URL,比如“http://example.com/includes/like.php

关于javascript - 单击 ajax 上的“喜欢”按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26855002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com