我有一个简单的搜索应用程序,我正在尝试使用AJAX导航到不同的响应。
我的问题非常简单,我确信有一个简单的解决方案,但我根本找不到它。
我正在以这种方式发送新请求:
xhrObj.open('post', 'search.do', false);
xhrObj.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhrObj.send('id=1');
我想,在此请求调用和必要的业务逻辑之后,浏览器将视图更改为后端指定的新页面。 而不是这个,我在响应中收到页面HTML代码,但是从未发生到此页面的导航。
我的印象是,如果async
参数设置为false
,则流量会按照我期望的方式运行。
如何在AJAX调用后让我的JS脚本将其导航到新页面。请记住,我无法使用location.href
跳转到新页面,因为此新页面是服务器上的.JSP版本。
答案 0 :(得分:0)
如果你想拥有与guthub类似的东西,你需要HTML5 History API。如果没有HTML5 History API,您无法在不进行任何重定向的情况下操纵URL(使用帮助JS)。
通常你可以在url中使用hash(domain / #hash / blabla / bla),但它也不好。
答案 1 :(得分:0)
也许您应该从search.do请求网址,然后执行此操作。
xhrObj.onreadystatechange=function() {
if (xhrObj.readyState==4 && xhrObj.status==200)
{
window.location=xhrObj.responseText;
}
}
希望这会有所帮助。