我为我糟糕的英语道歉:)
我正在使用ajax请求执行php文件。 json响应的格式为。但在某些情况下可以重定向。在这种情况下,我想要重定向页面。
你能帮我吗?感谢的。示例PHP文件:
<?php
$status = $_POST['status'];
if($status == 'a'){
// return json response
}else{
echo "<form action='http://www.url.com'>..</form><script type='text/javascript'>form.submit();</script>";
}
?>
示例JS文件:
$.ajax({
type: "POST",
url: 'http://www.my_php_file.com'
});
答案 0 :(得分:0)
您可以通过返回带有3xx
标头的Location
响应,以通常的方式发出重定向。浏览器将遵循重定向(它不会使JavaScript代码执行ajax调用处理它)。
例如,如果您想发出301
(“永久移动”):
header('Location: http://www.google.com',true,301);
exit;
(我不知道如何在PHP中发布3xx
,但发现它们是in this answer)。
旁注:我怀疑www.google.com
会起作用,我认为这只是一个例子。
答案 1 :(得分:0)
使用window.location = "http://www.yoururl.com";
通过JS发布重定向。
答案 2 :(得分:0)
在你的php文件中用这样的javascript重定向替换php重定向:
<script type="text/javascript">
window.location.replace("http://www.google.com");
</script>