AJAX 脚本在响应时更改导航

AJAX script change navigation on response

本文关键字:导航 响应 脚本 AJAX      更新时间:2023-09-26

我有一个简单的搜索应用程序,我正在尝试使用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 构建在服务器上。

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

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

希望这有帮助。

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

一般来说,你可以在url(domain/#hash/blabla/bla)中使用哈希,但它也不好。