用jquery或plain js更改url

时间:2012-11-12 14:05:01

标签: javascript jquery ajax url

您好我已经写了一些ajax代码,其中用户留在页面www.somedomain.com,插入一些数据和ajax带来响应。当响应到来时,我希望将网址更改为www.somedomain.com/response,但浏览器仍会保留到www.somedomain.com页面内容。所以页面不会改变,但只有网址会略有不同。另外,我不希望index.html在url中可见。

2 个答案:

答案 0 :(得分:2)

要支持旧浏览器,您可以使用哈希导航:

Keeping history of hash/anchor changes in JavaScript

如果您只想在现代浏览器上运行,可以使用HTML 5 History API。

http://diveintohtml5.info/history.html(感谢Christian Varg)

答案 1 :(得分:1)

显然,您可以使用 HTML5 History API 来更改浏览器URL,但在您的情况下,您必须更改Ajax响应的URL,因此您必须在客户端处理Ajax事件。 即如果您在Ajax响应开始时更改URL并在Ajax响应结束时更改回原始状态,则必须处理两个Ajax事件。

  1. OnRequestStart
  2. OnResponseEnd
  3. 第一个方法同时调用Ajax请求启动,第二个方法在ajax请求变为完成状态时调用。
    所以在这个处理程序方法中你可以改变浏览器的UL ....