0
私はログインフォームを持っており、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
}
更新:success:
一部の作品にあなたのロジックは、あなたがこのようにそれを処理する必要があることを考慮すると
$("#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;
},
});
});
を助け
・ホープエラーメッセージの内容をお知らせください。 –
実際それは私の..私のカスタムエラーメッセージを示しています。それは何とかリダイレクトしていません! –
この 'setTimeout'スクリプトはどこに置いたのですか?ページの一番下にありますか? – Sasikumar