前台发ajax,后台返回json,有数据!前台获取不到,试了好久

前台请求

$.ajax({
        //提交类型
        type:"post",
        //提交url
        url:"/SSM1/tologin",
        //提交的数据
        data:{uid:$("#name").val(),upwd:$("#pwd").val()},
        //返回数据格式
        datatype:"json",
        //成功返回调用的函数
        success:function(data){
            alert(data);    
        },
        //调用出错执行的函数
        error:function(data){
            alert(data);
        }
});

后台代码

@ResponseBody
    @RequestMapping(value="/tologin",method= RequestMethod.POST)
    public void tologin(@RequestParam("uid") String uid,@RequestParam("upwd")String upwd
            ,HttpServletResponse response) throws IOException{
        // 解决后台返回数据给前台出现的乱码问题
            //response.setContentType("text/javascript;charset=utf-8");
            response.setContentType("application/json;charset=utf-8");
            response.setCharacterEncoding("UTF-8");
        //信息处理类
            Result result = new Result();
        //根据id查询是否存在该用户
            TbUser user=userservice.findById(uid);
        //如果存在判断密码
            if(user!=null) {
                String pwd=user.getUpwd();
                if(pwd.equals(upwd)) {
                    result.setMsg("账号密码正确");
                    result.setCode(1);//1正确
                    result.setSuccess(true);//true成功正确
                }else {
                    result.setMsg("密码错误");
                    result.setCode(-2);//-2密码错误
                    result.setSuccess(false);
                }
            }else {
                result.setMsg("账号不存在");
                result.setCode(-1);//-1失败
                result.setSuccess(false);
            }

            JSONObject jsonObject=new JSONObject();
            jsonObject.put("result", result);
            response.getWriter().print(jsonObject);
            );
    }

请求获得的数据
图片说明

图片说明
图片说明

其实有值的,只是弹窗显示的是object,object
图片说明

没有问题啊,你的响应内容正常到了
result.setCode(1);//1正确
result.setSuccess(true);//true成功正确
这里的啊,为什么说没有取到呢?

直接这样alert(result.xxx)试下看看

data.result.xxx在ajax中这样获取不了吗?

你的ajax流程是进入error里面了嘛,你的两个alert别写一样,看看是不是进去了,然后查原因

你这个'data'是个后台查询结果的集合吧,直接在页面上显示就是你截图那样,试着用里面具体的对面,像‘data.student’这样,在弹窗直接输出里面的查询项目

在你代码里我从头到尾都没看到你往result对象里面setdata值,前台又怎么会有呢,所以为data为空才是正确的,你都没设值,不为空才是有问题