承認プロセスを偽装するプロトタイプ (コンセプト) ページの作成。
ユーザーが#view_moreボタンをクリックすると、"Requesting More Time" というメッセージが div に表示され、javascript が AJAX を使用して PHP スリープ関数を 10 秒間呼び出す間、表示され続けることが望ましい動作です。
ただし、メッセージは表示されません。代わりに、非同期 ajax 呼び出しにより 10 秒の遅延が発生し、処理が続行される前にメッセージが一瞬表示されます。どうすればこれを修正できますか?
ジャバスクリプト:
$(document).on('click', '#view_more', function() {
var cust = $('#cust').val();
$('#buttons').html('<div id="countdown">Requesting More Time...</div>');
$('#buttons').show();
//Now, send email to admin
$.ajax({
type: "POST",
url: "ajax/ax_all_ajax_fns.php",
data: 'request=more_viewing_time_requested_send_email&cust='+cust
});
$.ajax({
type: "POST",
async: false,
url: "ajax/ax_all_ajax_fns.php",
data: 'request=sleep_timer&delay=10'
});
alert('Additional viewing time authorized for this account.');
location.reload(true);
});
PHP (ax_all_ajax_fns.php):
if ($_POST['request'] == 'sleep_timer') {
$delay = (int)$_POST['delay'];
sleep($delay);
}