jquery中ajax如何返回值到上层函数的方法以及对于js处理json对象方法的记录

①在我们做前端js处理的时候我们经常会将一些公用的js方法封装起来,方便别的地方调用,但是我们要做的是需要将请求返回的值传递给调用者,这里我记录了在js中采用ajax方法获取后台数据并返回给调用者的方法,我们平时使用ajax的方法基本为如:

<span style="font-family:FangSong_GB2312;font-size:18px;">function AutoGetOpenid(){
	var personJson;
	$.ajax({
		url : "***.action",
		type : 'post',
		dataType : 'json',
		contentType : "application/x-www-form-urlencoded; charset=utf-8",
	    
		data : {
			'code' : location.href.split('=')[1].split('&')[0]
		},
		success : function(data) {
			//返回获取到用户的信息,昵称、城市、openid、unionid、性别、头像地址等、、
		personJson = jQuery.parseJSON(data);
	   
		},
		error : function() {
                 
		}
	});
	 return personJson;	
}</span>

但是返回获取到的personJson却是没有我们想要的值,其实追究其原因是因为ajax中存在同步执行和异步执行的两种方式,在不做任何抉择的时候ajax采用的是异步执行的方式,所以我们想将结果返回的时候我们需要将执行方式修改为同步执行即可:

<span style="font-family:FangSong_GB2312;font-size:18px;">function AutoGetOpenid(){
	var personJson;
	$.ajax({
		url : "***.action",
		type : 'post',
		dataType : 'json',
		contentType : "application/x-www-form-urlencoded; charset=utf-8",
	        <span style="color:#FF0000;">async:false,</span>
		data : {
			'code' : location.href.split('=')[1].split('&')[0]
		},
		success : function(data) {
			//返回获取到用户的信息,昵称、城市、openid、unionid、性别、头像地址等、、
                },
		error : function() {
                 
		}
	});
	 return personJson;	
}</span>
看上面代码的红色部分,只需要加上这一行代码就可以解决问题了;


②在①中我们获取到了返回值data,这是一个jsonobject的json对象,我们如何获取其中的属性对应的值呢?

    personJson = jQuery.parseJSON(data);
   alert(personJson.openid);
首先将数据对象话,然后通过object.key就可以获取到对象的属性值了 ,欢迎访问个人博客(http://cuiyongzhi.com)!

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值