碰到一个ajax问题,我通过ajax方法执行后台方法,(在后台有值,还是JSON类型)在前台貌似获取的是Object类型,

通过ajax方法,在后台进行业余逻辑处理之后返回JSON数据,在前台获取到的是Object类型,想问问是什么情况。

ajax方法:

$.ajax({
type:"post",
url:"user/ReturUser",
dataType:"json",
data:{"id":city},
success:function(data){
alert(data); //输出的是 Object:Object
});
图片描述

后台:

@ResponseBody
@RequestMapping("/ReturUser")
public Object ReturUser(Model model){
    userss=(Users)request.getSession().getAttribute("users");
    System.out.println(JSON.toJSONString(userss)); //有值有输出
    return JSON.toJSONString(userss);
}

图片描述

自己能力有限,找人帮忙解开疑惑

阅读 6.2k
7 个回答

返回的是个对象啊
alert(data.balance)

clipboard.png

JSON.stringify(data);

不要直接alert 还需进行json解析

你alert出来当然是个object啦_(:з」∠)_,要不你把它转成json string再alert一下看看是不是成功获取数据

        $.ajax({
            type:"post",
            url:"user/ReturUser",
            dataType:"json",
            data:{"id":city},
            success:function(data){
                var val = JSON.parse(data);
                console.log(val.calls);
            }
        });

你在后台这样写就好了,前台直接得到User对象了

@ResponseBody
@RequestMapping(value="/ReturUser",method = RequestMethod.GET,produces="application/json")
public Users ReturUser(Model model){
    userss=(Users)request.getSession().getAttribute("users");
    return userss;
}

这个是对的啊, 你可以直接使用,建议使用 console.log(data) 打印;然后你要使用具体的某个字段直接用data.calls就可以得到陈小姐

传过来的是个对象。
可以浏览器F12调试下,然后断点打在那个JS那里,可以看下这里面的值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题