$.ajax().reponseText为什么有时要在外部获取异步返回的数据

原创 2016年05月31日 09:39:10

通过$.ajax()的回调函数function(data){}获取到的数据只能在回调函数内部使用。

如果想在外部获取,怎么办呢?

使用$.ajax().responseText,可以在外部获取异步返回的数据

或者使用全局变量在外部获取异步返回的值

<pre name="code" class="javascript">//检查EMAIL
function Check_Email(){
	HideTips();
	var email=$("#Email").val();
    if($("#Email").val().length<1){
		 ShowTips("请输入你的Email地址!");  
		 $("#Email").focus();
		 return false;
	}else if ((/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/gi).test($("#Email").val()) == false){
		 ShowTips("请输入有效的Email地址!");       
		 return false;
	}

     
    else{
		
    //var ret=$.ajax({url:"ajax/checkfor1.php?action=reg_checkEmail",{email:email},async: false}).reponseText;
    $.post("ajax/checkfor1.php?action=reg_checkEmail",{email:email},function(data){
        
		if(data.success==0){
			ShowTips("对不起,该用户名已经被人占用!");  
			return false;
		     }
         },"json");
          
    }
    return true;
}

该检查Email地址的函数的本意是:

 通过ajax发送数据验证注册用户的email地址已经存在

如果返回的数据data.success==0,则说明该用户已经存在,return false结束该检查Email地址的函数。


但是上述代码不符合该函数的本意,return false结束的是回调函数,而不是Check_Email()。

正确的写法应该是

var ret=$.ajax({url:"ajax/checkfor1.php?action=reg_checkEmail",{email:email},async: false}).reponseText;


    if(ret==0){

                ShowTips("对不起,该用户名已经被人占用!");  
return false;

    }



这是在外部获取text文本的写法,在外部获取json对象的写法还不知道

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

获取ajax方法返回的数据

//定义被调用的方法 function findCard(callback,param1,param2){ Ext.Ajax.request({ url:'**action_findCard.a...

xmlDoc.async="false";什么意思async

xmlDoc.async="false";什么意思async xmlDoc.async代表是否异步加载xml文件 如果为ture,程序不论xml文件是否全部...

Ajax请求中的async:false/true的作用

Ajax请求中的async:false/true的作用 作者:Cfans_gpl 时间:2013-3-17 16:21 Sunday 分类: WEB开发  #坐上电梯直达评论  官方的解释是...

Ajax请求中的async:false/true的作用

test.html asy.js function testAsync(){     var temp;     $.ajax({        ...

谢文东的一些话,很有道理

1. 记住,别人没有权力对自己不好,自己也不用非要为谁做什么! 2. 做人,最重要是有自知之明,量力而行,明白自己该说什么,不该说什么,如果连这个道理都不懂,丧命是迟早的事情。 3. 这个世...

使用原生ajax异步返回json数据

使用原生ajax异步返回json数据

Spring MVC 使用ajax异步交互返回数据

HTML 用户名 <input type="text" class="input" ...

ECharts图表组件中级入门篇:如何通过Ajax异步获取图表数据赋值于图表并渲染呈现

http://www.stepday.com/topic/?906     [摘要]: 最近不要ECharts图表使用者的初学者均在询问如何通过ajax异步获取数据,动态赋值给echa...
  • kouwoo
  • kouwoo
  • 2015-03-17 14:01
  • 11220
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)