我创建了自己的“喜欢”按钮。使用 AJAX,我可以将更改发布到数据库以将 1 添加到“喜欢”按钮。然后 JavaScript 将使用更新的信息更新第一个“喜欢”按钮一次。如果我再次单击“喜欢”,它将不会再次更新。其他“喜欢”按钮也不起作用,它们只会刷新页面。
我已经到处搜索试图找到这个答案。我已经把它归结为我有每个喜欢按钮的地方,它有自己的 id。即使我将按钮的 id 传递到 AJAX 并从服务器返回到 JavaScript。我仍然无法更新其他“喜欢”按钮。只有第一个而且只有一次。
<html>
<script>
window.addEventListener("load", function () {
function sendData() {
var XHR = new XMLHttpRequest();
// Bind the FormData object and the form element
var FD = new FormData(form);
XHR.onload = () =>{
var response
try{
response = JSON.parse(XHR.responseText);
}catch (e){
console.error('no parse');
}
if(response){
handleresponse(response);
}
}
// Set up our request
XHR.open("POST", "likes.php");
// The data sent is what the user provided in the form
XHR.send(FD);
}
// Access the form element...
var form = document.getElementById("likesform");
// ...and take over its submit event.
form.addEventListener("submit", function (event) {
event.preventDefault();
sendData();
});
});
function handleresponse(response){
console.log(response.message);
let value = response.message;
let id = response.id;
console.log(id);
document.getElementById(id).value = "Liked " + value;
value = 0;
id = 0;
}
</script>
<?php
function postcommentbar($imagenumber, $likes, $num_rows){
}
?>
我希望能够单击页面上的任何“喜欢”按钮,并看到它随着“喜欢”数量的增加而相应更新。
您能否告诉我如何实现这一目标?
我在发送前有onload。如果您查看代码,您会看到这一点。
眼眸繁星
森栏
潇湘沐
随时随地看视频慕课网APP