如何使用Ajax重写所有当前页面?

时间:2010-11-04 21:05:23

标签: javascript jquery ajax

我创建了一个简单的页面,中间有一个按钮。

现在我希望当我点击按钮时,当前页面将使用从服务器加载的新HTML和Javascript代码进行完全重写。

如何使用ajax执行此操作?

2 个答案:

答案 0 :(得分:4)

建议:使用普通表单发布并重新加载页面。无论如何,如果你正在重新加载整个页面,那么你无论如何都要取消AJAX的所有好处,最好重新加载整个页面,例如:

<form action="otherpagr.html">
  <input type="submit" value="Click me" />
</form>

AJAX用于替换页面的部分以减少开销...但如果您要替换整个<body>,则更容易加载您要去的页面到。

答案 1 :(得分:1)

尼克对他所说的是正确的,但如果没有别的办法:

$('a').click(function() {
  $('body').load("test.html");
});

编辑确保load仅从远程地址中抓取<body>标记内的内容。对我而言,它无效通过定义<body> =&gt;来仅获取body标记load('test.html body')


要为页面设置动画,您可以执行以下操作:

$('a').click(function() {
  $('body').load("test.html", function() {
    $(this).hide().fadeIn(2000);
  });
});

但我建议至少实现一个包装元素。