我的代码是:
$('form').submit(function(){
var email = $('#email').val();
var dataString = 'email='+email;
var datadata;
$.ajax({
type : "get",
url : "checkEmail.php",
data : dataString,
dataType : "html",
success : function(result){
datadata = result;
}
});
alert(datadata);
return false;
});
为什么datadata
取消定义?
答案 0 :(得分:1)
ajax调用是异步的,这意味着当触发警报时,ajax调用还没有完成。
尝试将警报放在ajax成功函数上,如下所示:
$('form').submit(function(){
var email = $('#email').val();
var filename = '<?php echo basename($_SERVER['PHP_SELF'], '.php'); ?>';
var dataString = 'email='+email+'&userlevel='+filename<?php echo isset($_GET['ID']) ? "+'&uid='+".$_GET['ID'] : ''; ?>;
var datadata;
$.ajax({
type : "get",
url : "checkEmail.php",
data : dataString,
dataType : "html",
success : function(result){
datadata = result;
alert(datadata);
}
});
return false;
});
答案 1 :(得分:0)
这是因为onsuccess是一个异步调用..你正在尝试获取datadata
,但尚未定义。创建一个函数,在其中定义datadata
@ onsuccess并将其传递给result
,以便在可用时调用它