从页面中删除所有标记(html,脚本,DOCTYPE)并使用jQuery加载另一个页面

时间:2011-05-15 20:41:13

标签: jquery

这是我的问题。我在页面上抛出$ .post请求,如果登录失败则返回错误消息,如果登录成功则返回主页。

我在这里尝试删除包含和标签的页面的全部内容,并将其替换为我从$ .post请求中收到的新内容(帖子请求是包含所有标签的普通页面)完整的)。

这可以通过使用jQuery吗?如果没有,可以通过纯javascript完成吗?

2 个答案:

答案 0 :(得分:1)

我想象:

$('html').empty()

会删除所有内容;但显然这需要注意,你必须要插入一个完整的 html页面。你可以使用:

$(newPageVariableFromAjax).insertAfter($('html').eq(0));
$('html').eq(0).remove(); // or .empty()

但我不确定这是你可以使用的最佳方法。为什么不直接清空body标签,并在那里添加新的body内容?

答案 1 :(得分:1)

我仍在寻找jQuery的方法,但我确实通过以下代码来实现。

$(document).ready(function(e) {
    $("#submit").click(function(e) {
        var uname = $("#uname").val();
        var pword = $("#pword").val();
        var qstring = '?op=login&uname='+uname+'&pword='+pword;
        $.post(document.URL, qstring, function(data){
            //as my script returns the whole new page...
            document.open();
            document.write(data);
            document.close();
        });
    });
});