是否可以从AJAX中的重定向页面获取数据?

时间:2017-02-17 18:19:27

标签: javascript jquery ajax

我遇到了麻烦。我正在尝试做一些看似简单的事情,但我无法做到。

情况如下:

我有 3个不同的html页面

  • 名为index.html的第一个是我的主页,其中包含一个用于在AJAX中进行测试的按钮(之后我会谈论它)。
  • 第二个对应于重定向到第三页。
  • 第三个有数据。

我想做的是:

单击第一页上的“测试”按钮,然后在第二页上启动AJAX请求以从第三页获取数据(使用重定向)将其打印在第一

我的意思是第一页在AJAX中调用第二页,而只是在特定的第三页上重定向。根据调用的第三页,返回第一页的数据将发生变化。

您认为在Javascript中找到解决此问题的方法是否可行?我希望我已经足够清楚了。

提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

你所描述的内容并没有多大意义。 AJAX遵循重定向的方法(例如,HTTP 301代码)。但是,您所描述的不是那种重定向。您正在描述的Javascript代码在运行时会将浏览器重定向到其他位置。

但是,您没有使用浏览器加载Javascript,而是通过AJAX下载页面。下载后,您将拥有代表该页面的文本,但为了找出它在运行时将重定向到的位置,您可能必须运行它并以某种方式捕获重定向值(不推荐),或者解析它你自己(也不推荐)。

还有其他选项可以使用,具体取决于您要完成的任务:

  • 当请求第二页时,服务器可以返回HTTP重定向代码
  • 第二页可以是包含URL的文本或JSON文件,第一页可以读取,然后从该URL请求数据。
  • 如果第二页中有逻辑确定重定向的位置,则可以将其移至第一页
  • 您可以让第二页使用服务器端脚本(PHP等)来确定应返回哪些数据并将其直接返回到第一页