我们可以在不使用AJAX的情况下更改页面内容吗?

时间:2013-09-09 11:34:55

标签: ajax

我主要使用AJAX来更新网页的各个部分,而无需重新加载整个页面。

我可以不使用AJAX吗

3 个答案:

答案 0 :(得分:2)

如果您不需要服务器提供任何新信息,只需使用JavaScript来操作DOM即可。将事件处理程序添加到HTML元素以触发JavaScript代码。

从服务器获取新信息并将其提供给JavaScript的一个示例:将<script src="...">节点添加到DOM。

如果您只想更改图片,请更改DOM图片的.src属性,或者从JavaScript创建new Image并将其添加到DOM。

如果要在矩形上绘制内容,请创建一个<canvas>元素并使用JavaScript绘制它。

可能还有很多其他方式。

答案 1 :(得分:2)

请参阅Refresh content of a div without ajax

如果要在服务器端执行某些操作而不进行刷新,则应使用AJAX。否则你可以简单地使用javascript代码。

对于显示/隐藏内容(如果在服务器端无需执行任何操作),您只需使用javascript代码或jquery

例如。

简单javascript

document.getElementById('myContent').display = 'none';
document.getElementById('myContent').display = 'block';

<强> jquery

$('#myContent').hide();
$('#myContent').show();

其中myContent是内容元素ID

答案 2 :(得分:-1)

是。我经常这样做,例如使用选项卡式菜单,因此页眉,页脚和菜单保持不变,但内容会发生变化。我通过围绕两个内容包装一个类来做到这一点,然后我显示:none;在其中一个导致它隐藏的类中。然后单击您的选择,使用javascript函数中的jquery函数,然后您可以在两个类之间切换,从而有效地为您提供内容更改。它对我来说很完美,看你的想法。这是代码:

function doSlide()
  {
  $('#sidepanel').toggleClass("hidesidepanel showsidepanel", 1000);
  $('#maincontent').toggleClass("show maincontent hidemaincontent", 1000);
  $('#openmenu').toggleClass("openmenuleft openmenuright", 1000);
  }