jquery ajax请求中嵌套的ajax请求不断重复执行

发布于 2022-09-04 15:21:23 字数 1724 浏览 13 评论 0

想使用ajax实现,加载评论时,将评论的回复也加载显示出来,但加载评论的回复时,执行加载回复的ajax代码不断重复执行,不断重复请求,检查发现加载评论的回复时for循环里i的值,一直为0。请问这是为什么,该如何解决?已经尝试过async:false,不行;初始以为是两个for循环都用i的缘故,将加载评论回复的i改为j也不行

    //加载已有评论
    function setCommentList(Id,commentbox) {
$.ajax({
type:"POST",
url:"/commentSelect",
dataType:"json",
data:{"Id":Id},
success:function(data){
for(var i = 0;i<data.length;i++) {
    var commentTemp= '<p class="comment-text"><span class="user">'+data[i].info+':</span>'+data[i].commentContent+'</p>'+
    '<p class="comment-time">'+data[i].commentTime+'</p>';
    var commentContent = document.createElement("div");
    commentContent.innerHTML = commentContent.innerHTML + commentTemp
    commentbox.appendChild(commentContent);
    console.log("评论数量"+data.length);
    setComment2List(data[i].commentId,commentContent);
}
},
error:function(){
alert("加载评论发生错误");
}
});
    }

    //加载评论的回复
    function setComment2List(commentId,commentContent) {
$.ajax({
type:"POST",
url:"/comment2Select",
dataType:"json",
async:false,
data:{"commentId":commentId},
success:function(data2){
console.log("@@@");
for(var j=0;j<data2.length;j++) {
    console.log("bug"+j);
    var comment2Temp= '<p class="comment-text"><span class="user">'+data2[j].info+':</span>'+data2[j].comment2Content+'</p>'+
    '<p class="comment-time">'+data2[j].comment2Time+'</p>';
    var comment2Content = document.createElement("div");
    comment2Content.innerHTML = commentContent.innerHTML + comment2Temp
    commentContent.appendChild(comment2Content);
    setComment2List(data2[j].commentId,commentContent);
}
},
error:function(){
alert("加载评论的回复发生错误");
}
});
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉世弥音 2022-09-11 15:21:23

你在setComment2List 的ajax success一直重复调用setComment2List自己``只要setComment2List的ajax能进success就会一直重复调用啊··复制也不要太懒··

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文