如何覆盖表上显示的JSON数据?

时间:2015-07-18 16:29:41

标签: html ajax json asp.net-web-api

我正在尝试制作权力游戏的简单评论应用程序。这包含两个输入字段,一个用于季节,另一个用于剧集。我试图将JSON数据解析为一个包含两列的表。第一列包含图片,第二列包含评论。图片会根据输入字段所做的更改而改变,但我无法覆盖第二列上的数据。它只是不断追加。

作为初学者,也是StackOverflow的新手,我的声誉很低。所以我无法发布图片。否则就会很清楚。



$(function () {
  $('#btn-got-load').on('click', function () {
    var $season = $('#txt-season').val();
    var $episode = $('#txt-episode').val();
     var $url = "http://www.omdbapi.com/?t=Game%20of%20Thrones&Season=" + $season + "&Episode=" + $episode + "";
        $.ajax({
            type: 'GET',
            url : $url,
            success: function (data) {
                $.each(data, function (key, value) {
                    if (key == "Poster") {
                        $("#image-here").html("<img src='" + value + "'>");
                    }
                    $("#review-here").append("<li>" +key +" : "+ value + "</li>");
                });
                $("#review-here").append( "<br/>");
            }
        });
     });
&#13;
<h1><u>Game of Thrones review</u></h1>
<label>Season (1-5) : </label> <input type="text" id="txt-season" value="1"/>
<label>Episode (1-10) : </label> <input type="text" id="txt-episode" value="1" />
<input type="button" id="btn-got-load" value="review"/>
<div id="container-div">
    <table>
        <tr>
            <td>
                <span id="image-here"></span>
            </td>

            <td>               
                <ul id="review-here"></ul>                
            </td>
        </tr>
    </table>
</div>
&#13;
&#13;
&#13;

enter image description here

1 个答案:

答案 0 :(得分:1)

在开始添加行之前,您必须清除它:

        success: function (data) {
            $("#review-here").html(""); // clear it first
            $.each(data, function (key, value) {
                if (key == "Poster") {
                    $("#image-here").html("<img src='" + value + "'>");
                }
                $("#review-here").append("<li>" +key +" : "+ value + "</li>");
            });
            $("#review-here").append( "<br/>");
        }