1

我有一个简单的搜索应用程序,我在其中尝试使用 AJAX 导航到不同的响应。

我的问题很简单,我确信有一个简单的解决方案,但我根本无法找到它。

我以这种方式发送一个新请求:

xhrObj.open('post', 'search.do', false);
xhrObj.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhrObj.send('id=1');

我希望,在此请求调用和必要的业务逻辑之后,浏览器将视图更改为后端指定的新页面。取而代之的是,我在响应中收到了页面 HTML 代码,但永远不会导航到该页面。

我的印象是,如果将async参数设置为false流,则其行为将符合我的预期。

如何让我的 JS 脚本在 AJAX 调用后跳转到新页面的导航。请记住,我不能location.href用来跳转到新页面,因为这个新页面是在服务器上构建的 .JSP。

4

2 回答 2

0

也许您应该从 search.do 请求一个 url,然后执行此操作。

xhrObj.onreadystatechange=function()  {
  if (xhrObj.readyState==4 && xhrObj.status==200)
    {
    window.location=xhrObj.responseText;
    }
  }

希望这可以帮助。

于 2012-06-08T08:33:11.627 回答
0

如果你想拥有类似guthub 的东西,你需要HTML5 History API。如果没有 HTML5 History API,您将无法在不进行任何重定向的情况下操纵 URL(借助 JS)。

通常你可以在 url (domain/#hash/blabla/bla) 中使用哈希,但这也不好。

于 2012-06-08T08:23:55.417 回答