AJAX脚本在响应时更改导航

时间:2012-06-08 08:16:04

标签: javascript ajax jsp

我有一个简单的搜索应用程序,我正在尝试使用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版本。

2 个答案:

答案 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;
    }
  }

希望这会有所帮助。