多次执行AJAX请求时删除以前的数据

时间:2016-02-23 13:52:55

标签: javascript jquery ajax

我遇到了ajax调用问题。它的工作正常除了一件事,当我尝试使用相同选项获取数据多次返回新响应时,仍然返回上一个响应的数据。

我认为有些东西我错过了。

    $(document).ready(function () {
        $('select').on('change', function () {
            var $optionValue = $('#loading-thing-post option:selected').text();
            var $categoryID = $('#loading-thing-post').val();
            $.ajax({
                dataType: 'json',
                url: 'http://localhost/visitingcy/public/management/getThingPost/' + $categoryID
            }).done(function (data) {
                if (!jQuery.isEmptyObject(data)) {
                    $('#thing-table').show();
                    $.each(data, function (index, value) {
                        index += 1;
                        var result = $('<tr>' +
                                '<td>' + index + '</td>' +
                                '<td>' + value.title + '</td>' +
                                '<td>' + value.category_name + '</td>' +
                                '</tr>');
                        $('tbody#thing-content').append(result);
                    })
                } else {
                    $('#thing-table').hide();
                }
            });
        });
    });

2 个答案:

答案 0 :(得分:0)

在每个循环之前删除#thing-content的内容

                 $('tbody#thing-content').empty();
                 $('#thing-table').show();
                    $.each(data, function (index, value) {
                        index += 1;
                        var result = $('<tr>' +
                                '<td>' + index + '</td>' +
                                '<td>' + value.title + '</td>' +
                                '<td>' + value.category_name + '</td>' +
                                '</tr>');
                        $('tbody#thing-content').append(result);
                    })

答案 1 :(得分:0)

您需要使用signed方法来阻止旧的ajax结果:

abort