您的位置:首页 > Web前端 > JQuery

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

2015-05-04 10:42 1386 查看
①在我们做前端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)!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐