我有这个代码
if($_POST){
// response hash
$response = array('type'=>'', 'message'=>'');
try{
// do some sort of data validations, very simple example below
$required_fields = array('name');
foreach($required_fields as $field){
if(empty($_POST[$field])){
throw new Exception('field is empty');
}
}
// ok, field validations are ok
// now add to data to DB, Send Email, ect.
// let's assume everything is ok, setup successful response
$response['type'] = 'success';
$response['message'] = "Done";
}catch(Exception $e){
$response['type'] = 'error';
$response['message'] = $e->getMessage();
}
// now we are ready to turn this hash into JSON
print json_encode($response);
exit;
}
我希望在'成功'后重定向到页面(ok.html)。我该怎么做呢
问候
答案 0 :(得分:1)
您可以重定向页面:
window.location = 'ok.html';
但最好使用javascript更改当前页面内容。
答案 1 :(得分:1)
PHP中的重定向通常使用
header("Location: NEWLOCATION");
NEWLOCATION是新页面的网址。
这应该在您输出页面上的任何信息之前调用,因为标题总是在任何其他内容之前发送(并且之后不能发送)。
如果您希望在输出其他内容之后使用标题功能,只需将所有输出保存在变量中,因此不要使用echo(“output”)来执行$ myvar。=“output”;
然后,在文件的末尾,您将知道是否要重定向,请执行回显($ myvar);
答案 2 :(得分:0)
将某些内容回传给浏览器然后重新指导是没有任何意义的,因为访问者无论如何都看不到该消息。
所以你可以:
ok.html
; window.location
重定向。