ajax请求数据塞进页面速度很慢。

我的页面加载的时候需要ajax请求数据,然后再渲染页面,但发现加载的很慢,数据也不是很多且逻辑简单,后台是java写的,请教一下有没有什么解决办法?

clipboard.png

clipboard.png

阅读 17.8k
7 个回答

DOM操作是比较慢的,而且你在ajax的回调函数中调用了数组的循环,虽然不知道你返回的数组有多大,但是遍历一遍每一遍都去访问DOM的话在性能方面肯定是有影响的,建议从减少dom操作方面入手。

你先确定是到底是发送过去,后台返回给你慢,还是你得到数据,渲染到页面上满,如果是后者,你的数据量是有多大?

请求最好是异步,不要阻塞页面的渲染
你的ajax请求的事件确实过长了,瓶颈可能在数据库读取方面,看看能不能优化吧

将dom操作提到循环之后

从图中可以看出耗时最长的一次(2.68s)是由于后台返回数据太慢的原因。
可以从时间线上的绿色部分Waiting (TTFB)看出。
具体时间线上每一部分的解释可以参考:https://developers.google.com/web/tools/...

你把ajax的同步方式访问当然会卡了啊,你的async设置成同步了。。
你把async 去掉或者设置成为true,这样就不会卡住了。。。不然怎么都会卡住的。

属性async: false(默认为true)指的是 将ajax请求设置为同步,所以在请求response之前都会阻塞

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