gpt4 book ai didi

javascript - 为什么用#!而不是 Ajax 请求中的#?

转载 作者:行者123 更新时间:2023-11-28 20:47:24 26 4
gpt4 key购买 nike

Possible Duplicate:
What’s the shebang/hashbang (#!) in Facebook and new Twitter URLs for?

我在几个使用 Ajax 请求加载页面的基于 Web 的应用程序中看到,它们使用 #!在网址之后而不是 # 。例如:/boo.php#!Projects而不是/boo.php#Projects .

我想知道这样做是否有任何技术原因?

最佳答案

目的是使 AJAX 页面可被例如抓取。谷歌。

通常,URL 中哈希值后面的所有内容与爬网程序无关,并且根本不会发送到服务器。在 AJAX 应用程序中,它曾经大量用于“模拟”浏览器地址栏中的真实 URL(人们现在通常使用 history.pushState)。

为了解决无法执行完整 JavaScript 应用程序的限制,Google 发明了一种协议(protocol),该协议(protocol)基本上规定,如果它遇到包含 hashbang 的 URL,例如

http://example.com/foo#!key=value

它可以将其转换为

http://example.com/foo?_escaped_fragment_=key=value

并将其发送到服务器。然后,服务器应返回页面的表示形式,就像在 JavaScript 应用程序中显示的那样。最终,这只是使这些应用程序可抓取的约定。

有关详细信息,请参阅 documentation on the topic由 Google 提供。

关于javascript - 为什么用#!而不是 Ajax 请求中的#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13207200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com