php – 如何在URL中显示Ajax请求?

我想要的是具有更改页面的一部分的链接,以及它的动态URL,其中我可以指定变量,如#calendar = 10_2010tabview = tab2

检查一个确切的例子:CLICK HERE FOR EXACT DEMO

所以这里是链接格式我需要:

#calendar = 10_2010& tabview = tab2

我需要在日历和tabview链接中有变量,所以我可以改变多个东西在一个单一的网页上,没有realoading。

或另一种格式,如http://www.wbhomes.com.au,这正是我想要的,但第一格式是好的,但这是更美丽。

> http://wbhomes.com.au/#/propertiesforsale/houseandland/quinnsbeach-waterland1

要求

>需要从任何地方访问
从例子邮件,或者如果我只是
写在url栏。
>链接应该在历史记录中,因此如果我按下后退或前进按钮,则需要访问该页面。
>页面刷新需要工作。

一些资源:

例子:

> www.developer.yahoo.com/
> www.facebook.com – 个人资料页面上的侧边栏链接
> www.wbhomes.com.au/ – 100%接近我想要的
> www.flickr.com/
> www.youtube.com

一些教程:

> www.ajaxpatterns.org/
> www.contentwithstyle.co.uk/

请帮帮我!我从来没有找到任何解决方案这样做,但我不想使用jquery或任何API或任何库,我想有一个工作的Javascript / AJAX和PHP脚本。

对于在您的问题中链接的演示,实现该功能实际上很简单 – 因为它根本不使用任何AJAX(当您开始添加AJAX到混合,它变得更困难 – 稍后解释)。要实现这个功能,你会;将链接升级为使用散列,然后绑定到hashchange事件。不幸的是,hashchange事件不是跨浏览器兼容的,虽然幸运的是有许多“历史/远程插件”可用 – 我们优选的多年来证明是jQuery History,它的开源,得到巨大的支持,并积极开发: )。

虽然,当涉及到添加AJAX功能,像Facebook,WBHomesBalupton.com这样的网站,那么你会开始面临一系列严重困难的问题! (我知道,我是最后两个网站的首席架构师!)。其中一些问题是:

>如何优雅,轻松地升级某些内部链接以使用历史记录和AJAX功能,并检测何时哈希已更改?同时保持其他链接像以前一样工作。
>如何从“www.yoursite.com/myapp/a/b/c”重定向到“www.yoursite.com/myapp/#/a/b/c”?并且仍然保持用户的体验平滑,使得3个必要的重定向尽可能平滑。
>如何使用AJAX提交表单值和数据并更新哈希?反之亦然,如果他们不支持Javascript。
>如何检测AJAX请求的页面的哪个特定区域?使得子页面与正确的页面一起显示。
>当AJAX状态改变时如何更改页面标题?和其他非页面内容。
>如何在AJAX状态加载和更改时执行良好的intro / outro效果?使得用户不会留在黑暗中。
>当我们通过AJAX登录时如何更新侧边栏登录信息?显然,我们不希望登录按钮在左上角出现在那里。
>如何仍然支持网站的用户没有JS启用?这样,它会优雅地降级,仍然可以通过搜索引擎进行索引。

我知道的唯一开源的和可靠的项目,试图解决所有提到的那些极其困难的问题已被证明是jQuery Ajaxy.它实际上是jQuery历史项目的扩展,前面提到,提供了一个漂亮的高级接口添加AJAX功能到组合来处理幕后的那些困难的问题,所以我们不必担心他们。它也是前面提到的最后几个商业网站中使用的选择的解决方案。

祝你好运,如果你有任何进一步的问题,然后只是发表评论这个答案,我会得到它asap 🙂

更新:现在有HTML5 History API(pushState,popState),它不建议使用HTML4哈希交换功能。 History.js现在是jQuery历史的提供者,为HTML5 History API提供了跨浏览器兼容性,为HTML4浏览器提供了一个optional hashchange fallback。 jQuery Ajaxy将升级为History.js

http://stackoverflow.com/questions/3205900/how-to-show-ajax-requests-in-url

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – 如何在URL中显示Ajax请求?