[英]How to redirect a page after validation is done?
我有一個登錄表單,並且正在使用jQuery / Ajax驗證此表單並獲取json響應。
這種形式正在調用一個名為add-data.php
的php頁面。
因此,當所有驗證完成后,我想重定向到另一個頁面。 Successfully logged!
文字:
if($msg['error'] === false) {
$msg[] = '<b>Successfully logged!.</b>';
}
我用了
setTimeout(function() {
window.location = <?php echo "\"{$site_url}\""; ?>
}, 1000);
但這不是重定向!
完整的重定向代碼(無效):
if($msg['error'] === false) {
$msg[] = '<b>Successfully logged!.</b>';
?>
<script type="text/javascript">
setTimeout(function() {
window.location = <?php echo "\"{$site_url}\""; ?>
}, 1000);
</script>
<?php
}
更新:
$("#add_data").submit(function(e) {
e.preventDefault();
var button_name = $("#button_name").val();
var formData = new FormData(this);
$.ajax({
url : url+'add-data',
data : formData,
dataType : 'json',
type : 'POST',
cache:false,
contentType: false,
processData: false,
beforeSend : function () {
$("#submit_button").val("Loading...");
$("#submit_button").prop('disabled', true);
$('#form_result').show();
},
success : function ( result ) {
$("#submit_button").val(button_name);
$('#form_result').html('');
$("#submit_button").prop('disabled', false);
$.each( result, function( key, value ) {
if( key !== 'error' && result.error == true ) {
$('#form_result').append('<div class="alert alert-danger">'+value+'</alert>');
} else if ( key !== 'error' && result.error == false ) {
$('#form_result').append('<div class="alert alert-success">'+value+'</p>');
$('#form_result').delay(3000).hide('slow');
$("#submit_button").val(button_name);
$("#submit_button").prop('disabled', true);
}
});
},
error: function(xhr, textStatus, errorThrown) {
$('#form_result').append('<p class="alert alert-danger">Somethig is wrong!</p>');
return false;
},
});
});
考慮到您success:
的邏輯success:
部分有效,您應該這樣處理:
} else if ( key !== 'error' && result.error == false ) {
$('#form_result').append('<div class="alert alert-success">'+value+'</p>');
$('#form_result').delay(3000).hide('slow');
$("#submit_button").val(button_name);
$("#submit_button").prop('disabled', true);
window.location.replace("http://theredirectpage.com");
}
如果您需要重定向到php文件生成的網址,則應將其返回到結果數組中,然后將值插入到重定向調用中,如下所示:
window.location.replace(result.redirectUrl);
希望能有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.