如何制作异步请求并更新url / querystring参数?

时间:2014-09-12 17:33:42

标签: c# jquery ajax asp.net-mvc-4

我是第一个使用mvc 4的站点,站点使用大量异步请求,到目前为止它们是可管理的,基本上这是一个页面,它显示来自网格中数据库的记录,并允许用户根据从某些选项中的选择过滤它们提出这些要求的下降。

现在业务需求指向过滤发生时更新URL,以便用户可以通过复制粘贴URL共享过滤后的记录,我想知道是否有办法实现它,就像Instagram显示的图像一样点击模型弹出窗口并更新URL,以便用户可以共享它,所以在通过主页导航到通知时也会发布。

任何建议都将受到高度赞赏。 提前致谢。

1 个答案:

答案 0 :(得分:2)

Instagram使用Javascript History API通过javascript更改网址,而不进行重定向。看看https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

// Suppose http://mozilla.org/foo.html executes the following JavaScript:
var stateObj = { foo: "bar" }; history.pushState(stateObj, "page 2",
"bar.html"); This will cause the URL bar to display
// http://mozilla.org/bar.html, but won't cause the browser to load bar.html 
// or even check that bar.html exists.

对于MVC友好的js库,您可以使用History.JS http://balupton.github.io/history.js/demo/?state=2