页面内的Javascript重定向方法

Javascript redirect method inside page

本文关键字:重定向 方法 Javascript      更新时间:2023-09-26

我正在寻找一种很好的方法来在我的页面中重新编写,在 Ajax 请求之后

如果成功,我想转换当前 uri (location.href)

http://my.domain.com/jm/app.html?application=test&keyword=pp&data=&enum=&end=

http://my.domain.com/jm/app.html#Results?application=test&keyword=pp&data=&enum=&end=

所以在 uri 路径后添加 #Results,但我想保留查询字符串,为此找到一个正则表达式并将其应用于 location.href 可能很丑陋

有没有一种jquery方法可以只浏览页面内部?
喜欢

$.redirectTo("Results")

你看过location.hash属性吗?

作为旁注,这个插件对于检测哈希的变化,然后对其做出反应非常有用。 jQuery hashchange

我建议使用History.js或jQuery BBQ。它们都为 HTML5 pushState 提供了良好的支持,并为 HTML4 浏览器提供了回退(使用类似于您的示例的哈希)。jQuery BBQ也有一些很好的函数来操作查询字符串。

这是基本思想(使用历史记录.js)。成功后,您可以按如下方式更新位置:

var newUrl = "/app.htmlapplication=test&keyword=pp&data=&enum=&end=";
// Make AJAX request ...
// On success
History.pushState({}, null, newUrl);

您还需要为状态/哈希更改事件实现侦听器。使用历史记录.js,它看起来像这样:

History.Adapter.bind(window, 'statechange', function() {
    // The user probably hit the back button, do something...
});

我保持了我的示例非常简短,因此请快速浏览每个插件的文档,看看哪个最适合您的项目。