gpt4 book ai didi

javascript - AJAX 成功后如何刷新 div 元素?

转载 作者:行者123 更新时间:2023-11-30 09:42:52 24 4
gpt4 key购买 nike

发布这个是因为我发现了很多 jquery 答案,但没有原始的 javascript 答案。

所以我有一个向评论区发表评论的功能,我希望在发表评论后刷新评论区,但由于某种原因我的代码无法正常工作。

评论区加载代码:

function loadCommentSection() {
console.log("loading section")
imgid = imgid.replace("img/pic (", "");
imgid = imgid.replace(").jpg", "");
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("commentsection").innerHTML = this.responseText;
}
};
xhttp.open("GET", "commentsection.php?imgid=" + imgid, true);
xhttp.send();
}

以及提交评论的代码:

function submitComment() {
var title = document.getElementById("title").value;
var name = document.getElementById("name").value;
var comment = document.getElementById("comment").value;

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("msg").innerHTML = this.responseText;
}
};
xhttp.open("GET", "comment.php?imgid=" + imgid + "&title=" + title + "&comment=" + comment + "&name=" + name, true);

xhttp.send();
loadCommentSection();


}

问题是 submitComment 函数中的 loadCommentSection 函数没有执行。

最佳答案

在调用 loadCommentSection 之前,您应该允许将评论发送到服务器并进行注册。因此,最好在响应可用时调用它:

function submitComment() {
var title = document.getElementById("title").value;
var name = document.getElementById("name").value;
var comment = document.getElementById("comment").value;

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("msg").innerHTML = this.responseText;
loadCommentSection(); // <<---- moved here.
}
};
xhttp.open("GET", "comment.php?imgid=" + imgid + "&title=" + title + "&comment=" + comment + "&name=" + name, true);
xhttp.send();
}

关于javascript - AJAX 成功后如何刷新 div 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40322304/

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