单击链接时无需回发即可获取数据
我正在考虑通过点击链接来实现使用ajax请求获取数据。我知道如何使用 $.ajax 和其他 xhr 请求方法。我想了解以下案例的一些信息。我去了 http://www.facebook.com/?sk=welcome 然后我点击“查找朋友”,我注意到网址更改为 http://www.facebook.com/ ?sk=ff 并且右侧的数据被刷新(没有回发)并且我的朋友被加载。我注意到的奇怪的事情是,没有记录我期望的 XHR 请求(我正在使用 FireBug 控制台查看)。 FB 如何处理任何 XHR 请求? FB 是否使用 Iframe,如果没有,那么它如何在没有任何 XHR 请求的情况下使用新数据刷新页面的一部分而无需回发(在本例中)。
客户端如何在没有回发、没有 iframe 和没有一些 ajax 调用的情况下调用服务器的数据?
I was thinking to implement fetching of data with ajax request on click of a link. I know how to work with $.ajax and other xhr request methods. I wanted to know some infromation on the following case. I went to http://www.facebook.com/?sk=welcome
and then I clicked "Find Friends" I noticed the url changed to http://www.facebook.com/?sk=ff and the data in the right hand side was refreshed(without postback) and my friends were loaded. The strange thing I noticed was that no XHR request was logged (I was looking with FireBug console) which I expected to be. How does FB do that with any XHR request? Does FB uses Iframe for it, if not, then how does it refreshes a section of page with fresh data without postback without some XHR request (in this case).
How client can call server's data without postback, without iframe and without some ajax call?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Facebook 使用不可见的 iFrame。
其中之一的内容如下:
源是一个充满参数的 URL。所以我猜它是通过更改 iframe URL 来发送所有 Ajax 请求,并在加载 iFrame 时根据 iFrame 主体的内容执行回调。
Facebook uses invisible iFrames.
Here's the content of one of them:
The source is a URL full of params. So I guess it's sending all its Ajax requests by changing the iframe URL, performing the callback when the iFrame is loaded, based on the content of the iFrame's body.
我不知道 Facebook 是如何做到的,但可以通过动态加载脚本元素来完成。例如:
get_friend.php
返回:I do not know how Facebook does it, but it can be done by dynamically loading a script element. For example:
And
get_friend.php
returns: