首页  >  问答  >  正文

java - 碰到一个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);
}

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

我想大声告诉你我想大声告诉你2687 天前1027

全部回复(7)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-06-10 09:49:56

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

    回复
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-10 09:49:56

    雷雷

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-06-10 09:49:56

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

    回复
    0
  • 为情所困

    为情所困2017-06-10 09:49:56

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

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-06-10 09:49:56

            $.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;
    }

    回复
    0
  • 漂亮男人

    漂亮男人2017-06-10 09:49:56

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

    回复
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-10 09:49:56

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

    回复
    0
  • 取消回复