所以我最近了解到,如果你使用jquery $.post
发回PHP脚本,你就不能在该脚本中进行@header重定向(即使你在它之后立即使用exit();
)。
这是一个非常令人沮丧的新闻,因为我有一个重要的重定向/ flash消息类,在表单提交成功执行后我经常使用它。
jQuery帖子“贪婪”并且不让php脚本中断它的事实是一个巨大的限制。
有没有人知道一个解决方案,让我将表单数据发布回PHP,然后从PHP中重定向?在javascript中复制重定向/ flash消息类对我来说不是一个真正的选择。
有没有人知道如何克服这个问题?
答案 0 :(得分:0)
您可以使用success功能重定向浏览器。
$.post(url, data, function() {
window.location = newUrl;
});
答案 1 :(得分:0)
@ bcmcfc的解决方案是最好的,但如果您需要在重定向之前进行更多交互或计算,则可以查看 xajax 。他们的文档很厚,但它是用户体验设计师的梦想应用程序,填补了你所描述的空白。
答案 2 :(得分:0)
您的脚本重定向,您的JavaScript(jQuery)从我认为的重定向获得结果,或者您的返回包含302:重定向标头。
由于您的脚本使用自己的请求,因此您指示其执行的重定向将不会更新浏览器,并且该功能将永远不存在。您必须在客户端代码中响应来自服务器的请求标头,以响应您想要执行的操作。