码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-05-04 11:59:33      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:js   ajax   js处理json对象   ajax如何返回值   

①在我们做前端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就可以获取到对象的属性值了 !

      

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

标签:js   ajax   js处理json对象   ajax如何返回值   

原文地址:http://blog.csdn.net/u010488222/article/details/45477785

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!