加载必要的JSON数据的最佳实践:jquery $(document).ready()hook?在页面?

时间:2009-12-13 21:13:08

标签: javascript ajax performance json

我一直在阅读Yahoo's Best Practices For Speeding Up Your Website,但仍然有一个问题,我可以真正使用你的帮助:

我的网络应用程序的第一页需要显示一系列数据,这些数据取决于用户所在的城市。在第一次访问时,系统会提示用户选择她的城市并在浏览器中存储Cookie记录哪个城市开始。在她访问该网站后,Javascript代码会检查cookie并将该城市的数据检索为JSON。

鉴于此数据是显示页面基本部分所必需的,我应该从哪里加载它?目前我是从Jquery的$(document).ready()的顶部开始的,但是我发现根据定义,只有在整个页面加载后才会执行。

这是正确的方法吗? (例如,如果我在检查cookie时添加一些Javascript并为正确的城市加载JSON提要,那么它会改善问题吗?其他一些解决方案......?)

感谢您的任何见解

拉​​拉

3 个答案:

答案 0 :(得分:3)

  

目前我正在从顶部开始   Jquery的$(文件).ready(),但是   根据定义,我想到了   只有在执行后才能执行   整个页面已加载。

当DOM准备好进行操作时,将调用

$(document).ready(),而不是在整个页面已加载时调用。一旦标记被读取并解析到DOM中,DOM就会准备就绪。这是在整个页面加载之前发生的。

使用代码检查Cookie值并在$(document).ready()中检索城市指定的数据完全没问题。

答案 1 :(得分:0)

如果您确实需要此数据来正确显示页面,那么如何简单地在页面中内联数据呢?保存自己的AJAX往返程序,在300波特调制解调器上为撒哈拉以南非洲地区的用户提供便利。

答案 2 :(得分:0)

我认为$(document).ready()只要你能做到,虽然我不确定你为什么不在第一次请求时检查cookie值。只需检查它们是否已设置,如果它们是,为用户获取内容,则可以节省自己不得不进行任何AJAX调用。也许我在你的情况下遗漏了一些东西,但是每次向特定域发送请求时都会发送cookie,因此不需要AJAX / JavaScript。