我有一个网站,我想为用户提供一个选项,如果他们单击表格的行,他们会被重定向到另一个页面(基于表格行的内容)。
所以我所做的基本上是使用 jQuery 收集数据并将其 POST 到 PHP 文件中。在我的 PHP 文件中,我想使用 header('Location: ***')
进行重定向。
这是正确的方法吗?因为这样,ajax 请求不会返回任何内容,没有成功,什么也没有,它会在此之前被重定向。
那么这是我可以使用的路径,还是我应该想出另一个想法?
最佳答案
没有。
重定向告诉客户端他们刚刚请求的资源可以在其他地方找到。
先前加载的包含 JavaScript 的页面不是 Ajax 请求所请求的资源。不过,将会返回一些内容 - 它应该获取您重定向到的资源(这将在 xhr.responseText
中提供)(假设同源策略不会干扰并且您获得 200 OK
在您重定向到的位置响应)
如果您打算始终重定向,则不要使用 Ajax。
如果您有时打算重定向,则需要将 URL 放入响应的正文中,使用 JavaScript 对其进行解析,然后将其分配给位置
.
关于javascript - Ajax 调用后是否可以使用 PHP 重定向页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24833358/