Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从页面中删除所有标记(html、脚本、DOCTYPE)并使用jQuery加载另一个页面_Jquery - Fatal编程技术网

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

从页面中删除所有标记(html、脚本、DOCTYPE)并使用jQuery加载另一个页面,jquery,Jquery,这是我的问题。我在一个页面上抛出一个$.post请求,如果登录不成功,它将返回一条错误消息,如果登录成功,它将返回我的主页 我在这里尝试的是删除页面的全部内容,包括和标记,并用我刚从$.post请求收到的新内容替换它们(post请求是一个正常页面,所有标记都完好无损) 通过使用jQuery可以做到这一点吗?如果不是,可以用纯javascript实现吗 我可以想象: $('html').empty() 将努力删除所有内容;但显然,这附带了一个警告,您必须插入完整的html页面。如果可能,您可以使

这是我的问题。我在一个页面上抛出一个$.post请求,如果登录不成功,它将返回一条错误消息,如果登录成功,它将返回我的主页

我在这里尝试的是删除页面的全部内容,包括和标记,并用我刚从$.post请求收到的新内容替换它们(post请求是一个正常页面,所有标记都完好无损)

通过使用jQuery可以做到这一点吗?如果不是,可以用纯javascript实现吗

我可以想象:

$('html').empty()
将努力删除所有内容;但显然,这附带了一个警告,您必须插入完整的html页面。如果可能,您可以使用:

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

但我不确定这是你能用的最好的方法。为什么不清空body标签,并将新的
body
内容附加到那里呢?

我仍然在寻找通过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();
        });
    });
});

好的,那么我应该如何填充新数据?包括脚本?css?@Caspar,是的;我已经用一种可能的方法处理了这个问题。虽然我不确定jQuery是否可能删除它所操作的文档。或者,如果,或者多长时间,它可以简单地从浏览器的内存中工作……对我个人来说,这似乎是一个奇怪的请求。是的,它确实包括了所有内容,包括脚本和脚本css@LoneWOLFs:在这种情况下,为什么不直接链接到页面?你的方法似乎不必要的复杂。为什么不直接链接到新页面呢?你的方法的优点是什么?这里唯一要避免的是浏览器地址栏中的url替换。也许还有咔嗒声。。有不同的方法可以做到这一点,比如服务器端。请不要在简单的问题上寻找复杂的答案。