我现在的程序是,用户登录后,在用户中心首页用了ajax加载用户信息。
但由于加载的信息量比较大,所以一般都需要等5秒钟以上的时间才能全部加载完毕。
在加载的过程中,点击其他链接都不会有反应,只有在ajax加载完信息后,页面才会进行跳转。
请问各位高手,有什么方法能使在页面进行ajax加载的过程中,点击页面上的链接能立即跳转,而不用等到ajax加载完之后才跳转?
补充一下,服务器端语言是用PHP的,谢谢各位!

解决方案 »

  1.   

    把 ajax 设置成 异步请求。
      

  2.   

    1.如果你的请求是同步的话,改成异步的就可以了2.如果你的请求已经异步的,说明页面卡死的情况并不是等待数据中,而是页面处理数据中。通常一项数据生成一组DOM,而如果数据很多,则要生成的DOM也很多,而JS在连续生成上百上千个DOM的话页面就会卡死。如果你想避免这种现象,可以这么做:每处理一些数据,比如100条,就结束,这时候页面就刷新。然后setTimeout再接着处理下一批数据,时间间隔取最小,1毫秒就行了。这样页面就不会一直卡死,也可以随时点击离开了
      

  3.   

    顶。。但如果真像楼上所说有这么多数据都一般采用分页的形试了
    借地方用下群号36466679正在发展中,欢迎各位js,css,asp.net,和数据库爱好者加入本群
      

  4.   

    谢谢你的回复,的确是php那边的问题,我找来找去都找不到如何在这种情况下中止php正在执行的操作。
    你的分段处理方法虽然不能治本,不过也不失为一个好办法。
      

  5.   

    可以参考lazyload.js的使用,可视区域显示多少元素就获取多少。不管你页面的DOM元素有多复杂!也不会卡死在那!