如何清除以前的json响应?

时间:2015-07-24 07:31:43

标签: json response

我需要清除之前的回复。它只是堆积起来。

对不起,我对ajax知之甚少。 我感谢所有的回复。谢谢。

enter image description here

<script type="text/javascript">
    $(document).ready(function(){
        $("#form").submit(function(){
            var selector = $(this);
            var form = selector.serializeArray();
            $("#submit").prop('disabled', true);
            $.ajax({
                url:'{{ url('dashboard/add') }}',
                type: 'post',
                data: form,
                dataType:"json",
                success: function(data){
                    if(!data.success)
                    {
                        $.each(data.errors, function(r, errors){
                            var node = document.createElement("li");
                            var textnode = document.createTextNode(errors);
                            node.appendChild(textnode);
                            document.getElementById("list").appendChild(node);

                        });

                        $('#myModal').modal('hide');
                        $('#myModal8').modal('show');
                    }
                    else
                    {
                        $('#myModal').modal('hide');
                        $('#myModal7').modal('show');
                    }
                }
            });
            return false;
        });
    });
</script>

3 个答案:

答案 0 :(得分:3)

您始终会附加到同一HTML列表中。 既然你已经有了jquery就可以使用了 empty()在删除列表之前清除列表。

$('#list').empty();

请注意,这将删除列表中的所有内容,如果您需要删除应定位其ID或类的特定元素。

答案 1 :(得分:2)

响应堆积如山,因为你不断清除它们就一直追加它们。如果要在启动新submit时清除错误列表,

// ...
$("#form").submit(function(){
  document.getElementById("list").innerHTML = "";
  // ...

答案 2 :(得分:1)

您可以使用hasChildNodes()检查列表中是否存在任何子节点,如果是true,则可以使用replaceChild()代替appendChild()

或者您可以在添加新内容之前使用innerHTML清空内容。