要实现将Ajax重定向到动作页面,而不是在同一页中显示错误,可以使用以下代码示例:
$.ajax({
url: "your-action-url",
type: "POST",
data: yourData,
success: function(data) {
// 处理成功响应
if (data.redirect) {
// 重定向到动作页面
window.location.href = data.redirect;
} else {
// 处理其他响应
}
},
error: function(xhr, status, error) {
// 处理错误响应
if (xhr.responseJSON && xhr.responseJSON.redirect) {
// 重定向到动作页面
window.location.href = xhr.responseJSON.redirect;
} else {
// 处理其他错误响应
}
}
});
$response = array();
// 处理请求并进行重定向
if ($redirectNeeded) {
$response['redirect'] = "your-redirect-url";
} else {
// 处理其他响应
}
// 返回JSON响应
header('Content-Type: application/json');
echo json_encode($response);
在以上代码示例中,前端页面通过Ajax发送请求到后端动作页面。在后端处理请求时,如果需要重定向,将在JSON响应中添加一个名为"redirect"的属性,其值为重定向的URL。前端页面通过检查响应中的"redirect"属性,若存在则使用window.location.href
进行重定向。
需要注意的是,后端动作页面应返回JSON格式的响应,因此在响应头中设置Content-Type: application/json
。