我在书呆子晚餐和其他网站上看过这个.在页面加载(在JavaScript中,通过浏览器),AJAX请求将从提供初始页面的同一服务器获取一些数据.数据量很小,没有任何技术限制,否则会阻止他们首先提取数据.
这不是一件坏事吗?这似乎浪费了一个AJAX调用,因为他们可以将这些数据作为JavaScript与页面的其余部分一起呈现.
我的银行使用AJAX来提取信息,以构建"转账"表格的表格元素.这个信息是几千字节,一个AJAX请求似乎有点过分.
在书呆子晚餐中,至少在我看到的MIX09视频中,他们正在查询(通过AJAX)一组晚餐,以便在页面加载时在地图控件上呈现.
我可以理解,如果我们讨论的是大量的数据,否则需要花费很长时间才能下降,但如果它低于10-15kb,那么用标记拉下数据不是更好吗?他们这样做是为了避免缓存数据吗?
编辑:我建议的是,不是打开一个AJAX调用服务器来下载客户端onload上的json数据,只需让asp.net(或其他)渲染页面内容中的json,当它呈现其他所有内容时.我只是觉得需要指出这一点,因为实际的客户端代码将完全相同,除了json变量的来源.
一般来说,根据我的经验,您希望避免在您的页面上使用任何Javascript.我的意思是,如果您可以在服务器端而不是使用Javascript,那么您应该这样做.您的页面加载速度更快,您将获得更好的用户体验.
这有时可能更有用,特别是如果在以后的页面中使用相同的有载AJAX调用.您可能通过在服务器端执行代码来复制代码.因此,在性能和要编写的代码之间需要权衡.
另一方面是Javascript有时用于防范机器人,刮刀,恶意软件(如键盘等等),以保护您的安全和网站安全.这可能意味着,例如,使用Javascript加载页面元素只是因为它使得更难以破解或刮擦.在你身边不是不可能,只是更难.
如果用户单击后退/前进,则不会再次调用服务器,因为它将内容从缓存中拉出.但是,通过在客户端页面加载上调用ajax,服务器将始终被调用.