0

ajax 呼び出しに応答して success_var という変数を設定しようとしていますが、設定してゼロを返します。もう 1 つの問題は、ajax が 2 回呼び出されていることです。Iy は成功呼び出し bacl を 2 回返します。これはcheckdateである私のphpスクリプトで、応答で送信されるテキストの成功または失敗をエコーし​​ます。コードは

var $jq = jQuery.noConflict();

$jq('#updateprogress').submit(function() {


var day = $jq('#d_<?php echo $goalsnow->type; ?>').val();

// alert(input_data);

var month = $jq('#m_<?php echo $goalsnow->type; ?>').val();

var year = $jq('#y_<?php echo $goalsnow->type; ?>').val();
var email_dp = '<?php echo $email_dp; ?>';
var success_var = 0;
$jq.ajax({
type: "POST",
url:  "<?php bloginfo('template_url'); ?>/checkdate.php",
data: {day:day,month:month,year:year,email_dp:email_dp},
dataType:"html",
success: function(msg){
$jq('<div>').html(msg).appendTo('div#error_msg').hide().fadeIn('slow');
success_var=1;
}
});
alert(success_var);

return false;

});
4

1 に答える 1

0

Ajax 呼び出しは非同期要求であることに注意してください。したがって、success_var の値が 1 に設定される前にアラート メソッドを呼び出します。

これを試して:

success: function(msg){
$jq('<div>').html(msg).appendTo('div#error_msg').hide().fadeIn('slow');
   success_var=1;
   alert(success_var);
}
});
于 2012-10-22T20:58:02.303 に答える