我会解释:
我有一个图片库,第一页是display.php
。
用户可以使用箭头翻阅图片,当您单击箭头时,它会发送Ajax请求以从db中检索下一张图片。现在我希望URL根据显示的图片进行更改。
So if the first picture is:
www.mydomain.com/display.php?picture=Paris at night
我将转到下一个,URL将是
www.mydomain.com/display.php?picture=The Big Ben
我该怎么做?
答案 0 :(得分:3)
这里的诀窍是带有锚片段的uri。
“#”之前的部分指向互联网上的资源,通常指定为页面上的锚点。
如果资源相同,浏览器不刷新,但在存在时移动到锚点位置。
通过这种方式,您可以从可用性的角度保持浏览器历史记录的便利性,同时使用ajax替换页面上的某些部分,以实现快速响应的用户界面。
使用像jQuery历史这样的插件(正如其他人所建议的)非常简单:用rel属性装饰某些元素,插件可以用来处理其余的元素。
与此主题相关的还有一种叫做“hijax”的东西,这是我真正喜欢的东西。
这意味着生成html就像在ajax之前的那样。然后你劫持某些行为,比如链接,并用ajax请求内容,只替换必要的部分。这与上述技术相结合,可以实现真正的SEO友好和可访问的网页。
答案 1 :(得分:1)
例如,您可以使用jQuery history plugin。
答案 2 :(得分:1)
更改网址的搜索将加载更改的网址。
另请参阅:stackoverflow, javascript changing the get parameter without redirecting
答案 3 :(得分:0)
你真的想在这里使用AJAX吗?
传统的网络请求会像这样工作......
等等。
使用AJAX,您基本上可以用“幕后”GET替换GET,它只是替换了页面的一部分。你会这样做,以使事情更快......例如......
您的建议是使用AJAX检索“下一个网址”,然后在整个页面上执行GET。当您发送每个页面而根本不使用AJAX时,发送“下一个”图像会好得多。
答案 4 :(得分:0)
这最能描述我想到的一切:http://ajaxpatterns.org/Unique_URLs