0

我试图设置一个名为 success_var 的变量来响应 ajax 调用,但它确实设置并返回零。另一个问题是 ajax 被调用了两次。Iy 返回成功调用 bacl 两次。我的 php 脚本是 checkdate,响应发送的文本成功或失败。代码是

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 之前调用 alert 方法。

尝试这个:

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 回答