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就可以获取到对象的属性值了 !

      

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。