jQuery将$ .post返回的数据复制到页面中

时间:2011-04-06 13:21:35

标签: jquery

我使用$ .post将表单发布到服务器。然后服务器返回一个html页面。我想用服务器返回的内容替换当前页面内容。我如何使用jquery做到这一点?

到目前为止

代码:

$('.autosave').click(function(){
    var url = 'post form url';

    $postData = $('#page-form').serialize();

    $.post(url, $postData, function(data){
             PAGE SOURCE = data
    });

    return false;
});

6 个答案:

答案 0 :(得分:2)

最简单的......

$('body').html(data);

假设响应正是您要替换的内容,并且您想要替换文档正文中的所有内容。

答案 1 :(得分:1)

只需使用.load()

即可
$('.autosave').click(function(){
    $('#result').load('ajax/test.html #container');    
    return false;
});

答案 2 :(得分:0)

您可能不应该替换整个页面的内容,而是替换容器。无论如何,代码是:

$.post(url, $postData, function(response)
{
     // this works for any valid css selector, so "body" 
     // and ".class_name" works too
     $('#container').html(response);
});

答案 3 :(得分:0)

要使用给定的HTML替换内容,您可以使用.replaceWith()

假设你的div是“myContent”类,

$(".myContent").replaceWith(data);

希望这有帮助。

答案 4 :(得分:0)

您可以替换页面中的html元素,但不能替换整个html。想象一下,如果你动态重新安装操作系统。

如果您想将数据插入<div id="item">,可以这样做:

$.post(url, $postData, function(data){
    $('#item').html(data);
});

答案 5 :(得分:0)

你可以实际使用$("html").load(url+"?"+$postData); 而不是

$.post(url, $postData, function(data){
         $("html").html(data);
});

这也会更改您的head标记内的网页标题和其他内容。请注意,之后您在DOM中无法访问已加载的script代码