我使用$ .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;
});
答案 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
代码