当表单成功提交时,如何让页面重定向?使用PHP重定向进行Ajax调用
当前当表单提交时出现错误,错误出现在表单上方。
当表单提交时没有错误,成功页面显示在窗体上方的错误消息容器中(而不是重定向)。
我的Ajax:
function checkform() {
var form = $('form')[0];
var data = new FormData(form);
$.ajax({
url: 'upload.php',
data: data ,
processData: false,
contentType: false,
dataType: 'text',
cache: false,
type: 'POST',
success: function(data){
$("div#error").html(data).slideDown("fast");
//Scroll to top of this div - 70px from the top of your view, change this to whatever number you wish
var destination = $('div#uploadContainer').offset().top - 15;
$("html:not(:animated),body:not(:animated)").animate({
scrollTop: destination
}, 200);
}
});
return false;
}
我的PHP(后验证等...)你需要重定向页面在JavaScript success
功能
if (isset($_POST['messageSubmit'])) {
header('Location: ' . $message_location);
}
if (isset($_POST['drawingSubmit'])) {
header('Location: ' . $drawing_location);
}
if (isset($_POST['postSubmit'])) {
header('Location: ' . $other_location);
}
你应该在成功响应中写入位置 –
如果您试图在成功回调中获取标头,则需要使用* jqXHR * object:'jqXHR.getResponseHeader('Location')' – Hkan
如何指定要在哪个重定向中使用Ajax虽然?在PHP中,重定向取决于点击哪个提交按钮。 – DavidPottrell