当前位置: 首页 > 面试题库 >

如何在URL中显示Ajax请求?

满玉泽
2023-03-14
问题内容

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

Check this for an exact example:
单击此处进行精确演示

所以这是我需要的链接格式

#calendar=10_2010&tabview=tab2

我必须像链接变量calendartabview这样我就可以改变一个页面上的多个万物而不realoading。

或诸如http://www.wbhomes.com.au上的另一种格式,这 正是
我想要的,但是第一种格式也不错,但这要漂亮得多。

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

要求

  • 需要从任何地方访问,例如邮件,或者我只写在网址栏中。

  • 该链接应该在历史记录中,因此,如果按后退或前进按钮,则需要访问该页面。

  • 页面刷新也需要工作。

一些资源:

例子:

  • 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/AJAXPHP脚本。


问题答案:

对于您问题中链接的演示,实现该功能实际上非常简单-因为它根本不使用任何AJAX(当您开始将AJAX添加到组合中时,会变得更加困难-
稍后说明)。要实现该功能,您将;升级您的链接以使用哈希,然后绑定到hashchange事件中。不幸的是,hashchange事件与跨浏览器不兼容,尽管幸运的是有许多“历史/远程插件”可用-
多年来,我们首选使用的是 jQuery History ,它是开源的,得到了​​大力支持并正在积极开发: -)。

虽然,当要向Facebook,WBHomes和Balupton.com等网站中添加AJAX功能时,您将开始面临一系列严重的难题!(我知道我是最后两个站点的首席架构师!)。其中一些问题是:

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

我知道的唯一一个尝试解决所有这些极其困难的问题的开源,可靠项目已被证明是 jQuery
Ajaxy

。它实际上是对前面提到的jQuery历史记录项目的扩展,它提供了一个优雅的高级界面,可以将AJAX功能添加到混音中,从而解决了幕后的难题,因此我们不必担心。它也是前面提到的最后几个商业站点中使用的选定解决方案。

祝您好运,如果您还有其他问题,请对此答案发表评论,我将尽快解决:-)

更新:现在有不推荐使用HTML4hashchange功能的HTML5历史记录API(pushState,popState)。History.js现在是jQuery
History的前身,并为HTML5 History
API提供跨浏览器的兼容性,并为HTML4浏览器提供可选的 hashchange备用。jQuery Ajaxy将针对History.js进行升级



 类似资料:
  • 问题内容: 在w3schools.com(url)上,有一个如何使用纯Javascript进行AJAX调用的示例。如果看一下示例,您将看到呼叫是由一个按钮触发的: 这是功能: 我想做的是获取传出的AJAX调用的URL,即ajax_info.txt(URL): 我试图将URL置于警报中,所以我尝试使用希望给我的响应来调用响应的标头: 它确实给了我所有标头,但没有给主机。因此,我的下一个步骤是尝试设置

  • 我想在android应用程序中显示视频。我在谷歌上搜索了一下,发现了下面的代码 VideoView VideoView=(VideoView)findViewById(r.id.VideoView); 谢谢 编辑:经过一些工作,我知道其中一个原因是Android版本4.0.3。上面提到的代码仅适用于4.2.2中的示例url(如http://download.itcuties.com/teaser/

  • 问题内容: 我想向页面URL 添加一些参数。我正在加载这样的内容: 如何更改具有相同参数的URL ? 问题答案: 您可以使用HTML5 pushState API来实现。但是,只有最新的浏览器才支持它,而IE9甚至不支持IE。没有办法做到这一点。但是,有一个约定,您将使用location.hash来指示页面的状态已被ajax请求修改的页面。有关如何使用URL散列来表示你的页面上状态的更多信息,你可

  • 问题内容: 当我使用Firebug 1.5时,在某些Ajax请求中收到200个ABORTED错误。您可以在此演示页面上通过键入文本字段来看到这种情况。即使出现这些错误,该网站的功能似乎也可以正常工作。简单地忽略这些错误是否安全? 此检票口邮件列表线程似乎表明检票口ajax代码正在执行应做的工作。此外,此萤火虫问题似乎表明可能存在一些担忧。不知道该怎么想。 问题答案: 听起来像是中止对已经返回OK的

  • 问题内容: 为什么Javascript对相对URL与标准HTML有所不同?考虑以下网址(或浏览至该网址):http : //en.wikipedia.org/wiki/Rome。打开Firebug控制台(或另一个Javascript控制台),然后输入以下内容: 在我的系统下,请求被发送到“ http://en.wikipedia.org/wiki/foo ”。URL中的“罗马”将被忽略。URL(“

  • 问题内容: 我想在我的网站上实时显示所有在线用户。虽然不知道如何去做。在新用户登录后添加新用户并不难,但我还需要删除不再登录的用户。 任何想法如何做到这一点?我应该使用jQuery检查哪些用户已注销并从列表中将其删除吗? 问题答案: 您的问题将是人们在不注销的情况下离开,他们的会话将仍然存在多长时间,直到您设置了超时时间才可以收集他们的会话数据(实际上可能更长) 为了获得真正准确的登录者和访问站点