在ajax成功调用上重新加载页面后附加DOM元素

时间:2014-06-23 13:49:32

标签: javascript jquery ajax dom reload

        $.ajax({
        type        : 'POST',
        url         : requesturl,
        data        : data,
        dataType    : 'json',
        success     : function(data) {
            location.reload();
            $('#status').append(
                                // append something here!!
            );
            $('#loader').hide();                
        }
    });

我有一些问题迫使页面先重新加载然后附加我的元素。我需要使用此功能,因为页面将在重新加载时再次初始化并清除我尝试追加的元素。

2 个答案:

答案 0 :(得分:1)

致电location.reload()后,为时已晚。页面重新加载后,脚本将不会继续运行。

听起来你可能需要在这里重新考虑你的一般方法。一种常见的方法是根本不使用AJAX(因为你计划重新加载页面),或让服务器将页面呈现为所需的新状态,包括你要添加到它的任何内容。

答案 1 :(得分:0)

你不应该在这里使用location.reload()而是使用$('。yoursubClass')。remove()然后调用append方法。

 $.ajax({
        type        : 'POST',
        url         : requesturl,
        data        : data,
        dataType    : 'json',
        success     : function(data) {
            $('#status').find('yourRemovableElements').remove(); //modify yourRemovableElements accordingly 
            $('#status').append(
                                // append something here!!
            );
            $('#loader').hide();                
        }
    });