Javascript 如何使用AJAX成功函数更新动态创建的数字?

Javascript 如何使用AJAX成功函数更新动态创建的数字?,javascript,ajax,mongodb,Javascript,Ajax,Mongodb,我正在创建一个带有mongo后端的投票系统,我正在试图弄清楚如何在投票后更新前端的号码。目前,车把上的数字正在动态显示。向上单击ajax完成它的工作并将数据发送到服务器,然后返回游戏数据。基本上,我希望我的{currentvote}号码在成功后更新 $('.up').on('click', function() { var id = this.id; $.ajax({ type: "POST", url: "/api/upvote",

我正在创建一个带有mongo后端的投票系统,我正在试图弄清楚如何在投票后更新前端的号码。目前,车把上的数字正在动态显示。向上单击ajax完成它的工作并将数据发送到服务器,然后返回游戏数据。基本上,我希望我的{currentvote}号码在成功后更新

$('.up').on('click', function() {
    var id = this.id;

    $.ajax({
        type: "POST",
        url: "/api/upvote",
        data: JSON.stringify({ cardId: id }),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(gameData){
            console.log(gameData.currentvote + 1);

        },
        failure: function(errMsg) {
            alert(errMsg);
        }
    });
});

<div class="col-lg-12">
    <div class="row">
    <div class="up" id="{{ID}}"><i class="fas fa-chevron-circle-up color-gray upvote"></i></div>
    <div class="down" id="{{ID}}"><i class="fas fa-chevron-circle-down color-gray downvote"></i></div>
    <div class="margin-left"><p class="vote-number" id="green">{{currentvote}}</p></div>
    </div>
</div>
$('.up')。在('click',function()上{
var id=this.id;
$.ajax({
类型:“POST”,
url:“/api/upvote”,
数据:JSON.stringify({cardd:id}),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(gameData){
console.log(gameData.currentvote+1);
},
失败:函数(errMsg){
警报(errMsg);
}
});
});

{{currentvote}


普通的老JS应该做这项工作

$('.up').on('click', function() {
var id = this.id;
var upVote = document.getElementById('green');
$.ajax({
       type: "POST",
       url: "/api/upvote",
       data: JSON.stringify({ cardId: id }),
       contentType: "application/json; charset=utf-8",
       dataType: "json",
       success: function(gameData){
            console.log(gameData.currentvote + 1);
            upVote.innerText= parseInt(upVote.innerText) + 1;


        },
        failure: function(errMsg) {
            alert(errMsg);
        }
    });
});

编辑:更新以考虑Brad的评论

当您在jquery ajax中执行此操作时,您也应该通过jquery来完成。您可以通过以下方式轻松完成:

success: function(gameData){
    var currentVote = $(".vote-number").text();
    $(".vote-number").text( parseInt(currentVote) + parseInt(gameData.currentvote) + 1 );
}

您是否尝试过
$(“#green”).text(gameData.currentvote+1)
?@YongQuan,但这在多个级别上都不起作用。您能否更新您的代码片段,以便我们了解它的具体工作方式?在这种情况下,这并不重要,但您应该设置元素的文本,而不是HTML。稍后,这段代码很可能会因其他原因而被修改,您将把可能无效的HTML注入到HTML应该存在的地方。