$.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 中response出现302的一点见解

今天在项目中,遇到了一个问题就是

ajax如何截取302响应

在ajax请求中,如果服务器端的响应是302 Found,在ajax的回调函数中能够获取这个状态码吗?能够从Response Headers中得到Location的值进行重定向吗?让我们来一起看看实际...

ajax获取外部数据时,遇见document.write的问题

通过script的方式获取的数据显示正常,但因为需要显示为英文,所以需要将数据获取下来再改为英文,这里想到的是ajax的方式。 document.write(" շ   շ ...

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

HTML 用户名

ajax的异步提交以及返回数据的处理,重点json

在工作中,因为种种原因我需要用到了ajax,本身是一个java工程师,但是做java的并不是一辈子写后台,特别是如今的b/s架构,所以通过自身学习了ajax,废话不多扯,看下面。 1.首先我们需要...

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

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

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

http://www.stepday.com/topic/?906     [摘要]: 最近不要ECharts图表使用者的初学者均在询问如何通过ajax异步获取数据,动态赋值给echa...
  • kouwoo
  • kouwoo
  • 2015年03月17日 14:01
  • 13413

如何通过Ajax异步获取图表数据赋值于图表并渲染呈现

最近不要ECharts图表使用者的初学者均在询问如何通过ajax异步获取数据,动态赋值给echarts图表对象,因为这样一来,我们就可以实现图表数据动态呈现,后期加入时间戳即可实时刷新图表数据。正是基...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:$.ajax().reponseText为什么有时要在外部获取异步返回的数据
举报原因:
原因补充:

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