JQuery局部刷新的困境

可以把页面分为左右两部分。
左边相当于菜单,右边相当于菜单对应的内容显示。
之前的页面是Table布局,所以的上传跳转都是刷新整页面,没有任何分页。

每个页面都要包含所有的代码和引用,又是Table,对于我这个新手看得头都大了,于是我开始使用Ajax只局部刷新右边,这样只要写右边区块的代码就好了

可是对于要直接打开包含右边页面整体页面,我就傻了,我是通过点击才显示右边啊,给个链接是没跳转过来是右边没有刷新的页面,这个问题怎么解决,还是我要放弃局部刷新了,继续头疼的复制整个页面 然后在里面修改右边的内容。求大神指点

阅读 7k
8 个回答

如果要第一次打开页面就同时显示左右两边的内容的话
可以绑定$(document).ready(function(){})
让页面在第一次打开时就触发一次ajax请求填充到右边的区域
当然也可以在第一次打开页面时就直接渲染整个页面
然后按其他菜单项再进行ajax请求再替换右边区域的内容就可以了

不知道题主的意思是什么
在加载整张页面的时候直接加载右边不就可以了吗

楼主菜鸟,鉴定完毕

  1. 如果你不想复制页面,可以引入header,把左边页面设为header,被include在每个页面中即可
  2. 右边Ajax加载页面,用jquery的load函数即可,左边点击,右边load(),记得preventDefault
  3. 这种方式其实不用Ajax最好,用iframe即可,左边的链接设置它的target为右边iframe的名字即可,当然用iframe用frame也行

我常常想,这种右侧就是简单的导航,右边是重要的内容的页面,右边局部刷新能快到哪里去?

当然,既然要用ajax的话,那么左侧menu的点击事件绑定异步请求,拿到异步请求的数据来渲染右侧即可。
初始进入页面时,判断url,直接请求并渲染右侧。
如果右侧还有一些异步操作,又涉及到了一些状态的更新,这个就要视情况而定了。
更新的状态多的话,右侧的一些行为就得整体刷新页面了,用ajax更新状态比较费事儿,这个就看你了。

页面载入时通过判断地址直接载入需要的页。

哥们解决了吗?也遇到这个问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进