在提交ajax结果未定义 [英] on submit ajax result undefine

查看:48
本文介绍了在提交ajax结果未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码是:

  $('form').submit(function(){var email = $('#email').val();var dataString ='email ='+ email;var datadata;$ .ajax({类型:获取",url:"checkEmail.php",数据:dataString,dataType:"html",成功:功能(结果){datadata =结果;}});警报(数据数据);返回false;}); 

为什么此 datadata 未定义?

我从中发展出一个.而且我必须通过ajax检查重复的电子邮件,然后再提交.它返回catect结果,但将提交表单.

解决方案

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({类型:获取",url:"checkEmail.php",数据:dataString,dataType:"html",成功:功能(结果){datadata =结果;警报(数据数据);}});返回false;}); 

my code is :

$('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;
            });

why this datadata is undefine ?

i develope a from. and i must check duplicate email by ajax befor submit. it return catect result but form will submited.

解决方案

the ajax call is asynchronous, which means when the alert is fired, the ajax call hasn't completed yet.

try putting the alert on the ajax success function like this:

$('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;
        });

这篇关于在提交ajax结果未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆