imは単純なスクリプトを作成するので、コードをループで実行できます。JavaScript変数がajaxの外側で定義されていません
var num_rows_php;
var num_rows_sessions_php;
var num_rows_session_php_teste;
$.ajax({
url: 'verify_num_rows.php',
success: function(){
num_rows_php = "<?php echo $my_num_rows; ?>";
num_rows_session_php = "<?php echo $_SESSION['transaction_count']; ?>";
num_rows_session_php_teste = "<?php echo $_SESSION['teste_num']; ?>";
alert('num_rows_session' + num_rows_session_php);
alert('num rows session php teste' + num_rows_session_php_teste);
},
});
alert('teste fora do ajax' + num_rows_session_php_teste);
ここでは、私の問題がある箇所のみを掲載しました。だから、私はajax関数の外で変数を作成するので、私はそれらをajax関数の中で更新することができます。このコードは5秒ごとに実行されるため、ajax呼び出しが最初に行われなくても、変数はいつでも更新する必要があります。私の問題は、私がアラートをajax関数の中で実行すると、値は正しいが、ajax関数の外側にある警告は変数が未定義であると言うことである。 alert('teste fora do ajax' + num_rows_session_php_teste);
は、コードが10回実行された後でも、未定義です。どうしてこれなの ?
EDIT:
$.ajax({
url: 'verify_num_rows.php',
success: function(){
num_rows_php = "<?php echo $my_num_rows; ?>";
num_rows_session_php = "<?php echo $_SESSION['transaction_count']; ?>";
num_rows_session_php_teste = "<?php echo $_SESSION['teste_num']; ?>";
alert('num_rows_session' + num_rows_session_php);
alert('num rows session php teste' + num_rows_session_php_teste);
if (num_rows_session_php_teste != num_rows_session_php)
{
alert(num_rows_session_php_teste);
// alert (num_rows_session_php);
$('#tbody').load('table_body.php')
$('#myfooter').load('myfooter.php')
$('#my-list').load('mylist.php')
}
},
});
Ajaxの成功関数内のすべてと変数は、アラートの瞬間に定義されていない:
は、私はこれを試してみました。
ためAsynchronusコールです。同期対非同期 – Navaneeth
を見てみましょうが、私は値に変数を設定した場合、それは固執すべきではありませんか? –
あなたの行動をajaxで成功させるか、ajaxを一時的に同期させます。 –