javascript - Ajax 调用后是否可以使用 PHP 重定向页面?

标签 javascript php jquery ajax

我有一个网站,我想为用户提供一个选项,如果他们单击表格的行,他们会被重定向到另一个页面(基于表格行的内容)。

所以我所做的基本上是使用 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/

相关文章:

PHP - 如何安装 PDO 驱动程序? ( Windows )

php - 比较两个数组,两个数组之间是否有相同的元素?

jquery - 计算表单输入并显示在屏幕上

javascript - jspdf 创建空 pdf

javascript - XML解析错误: no element found Location error in jQuery ajax

javascript - 如何使用 Jest 测试函数中的函数

javascript - 所有 JS 类型的通用构造函数

javascript - 要检查的正则表达式仅包含

php - Symfony 原则多对多完整性约束违规 : 1062 Duplicate entry

javascript - 需要帮助重构 JavaScript 代码,使其更易于修改、维护且更加健壮