angularjs后台获取json数据传前台,回调函数打印data,打印出的是前端界面,这是怎么回事 5C
后台处理: @RequestMapping("/querySectors")
public ModelAndView querySectors()throws Exception{

    //调用service查找数据库
    List<Sectors> sectorsList = sectorsService.findSectorsByName(null);
    //返回modelandview
    ModelAndView modelAndView = new ModelAndView();
    /*modelAndView.addObject("sectorsList", sectorsLis![图片说明](https://img-ask.csdn.net/upload/201707/24/1500862378_683537.png)t);
    System.out.println(sectorsList);*/
    JSONArray jsay=JSONArray.fromObject(sectorsList);
    System.out.println(jsay);

    modelAndView.setViewName("sectors/sectorsList");
    return modelAndView;
    前台控制器:
      var url = "http://localhost:8080/jjzdoa/querySectors.action";
 $http(
    {  
        method  : 'POST',  
        url     : url,  
        datatype:'json',
        params    :{userid:'',password:''},  // 传递数据作为字符串,从前台传到后台  
     }
    ).success(function (data) {

     confirm(data);

          /*   $scope.msg = data.msg ;
            if(data.msg==true){
                 localStorage.setItem("userId", name);
                window.location = "../kuaishuxd.html";                    
            } else{
                confirm("用户名或密码错误!");
            } */     
        });

}
});

4个回答

打印的代码在哪呢???
考虑 ajax是异步的, 打印的js也要在异步触发之后触发

你的window.location = "../kuaishuxd.html"; 代码不就是打开新的页面吗,所以你看到新的页面。
你说的打印数据,是控制台打印,还是刷新页面啊?

后端不是返回 ModelAndView ,应该返回json格式的数据 或者 ResponseEntity
比如:

 @RequestMapping("/completed/{entity}/{client_id}.json")
    public ResponseEntity individual(@PathVariable("entity") String clientEntity, @PathVariable("client_id") int clientId) {
        ApplySearchVO search = new ApplySearchVO();
        search.setClientEntity(clientEntity);
        search.setClientId(clientId);
        search.setStatus(ApplyStatus.COMPLETE.code);
        List<ApplySearchVO> list = service.list(search);
        List<Map<String, Object>> results = Lists.newArrayList();

        for (Apply a : list) {
            Map<String, Object> result = Maps.newHashMap();
            result.put("id", a.getId());
            result.put("pid", a.getProductId());
            result.put("pname", a.getProductName());
            result.put("code", a.getCode());
            result.put("amount", a.getApplyLimit());
            result.put("approvedAmount", a.getApprovedLimit());

            results.add(result);
        }

        return new ResponseEntity(results, HttpStatus.OK);
    }
 @RequestMapping(value = "/checkEnterpriseCode.json")
    @ResponseBody
    public String checkEnterpriseCode(HttpServletResponse response, String code, Integer id) {
        JsonObject json = new JsonObject();

        Enterprise enterprise = service.selectByCode(code);
        if (enterprise == null) {
            json.addProperty("success", true);
        }
        else {
            if(id == null) {// 新添加
                json.addProperty("success", false);
            }else {// 修改
                if(id.intValue() == enterprise.getId().intValue()) {//code没有变动
                    json.addProperty("success", true);
                }else {
                    json.addProperty("success", false);
                }
            }
        }

        return json.toString();
    }
qq_36950259
ssyqqqqqq 嗯嗯,那你前台是怎么接收这些数据呢
3 年多之前 回复
luweihualulei
阿磊_kb 回复qq_36950259: 对象转json的 可以用gson 或者 alibaba的
3 年多之前 回复
luweihualulei
阿磊_kb 回复qq_36950259: 我都是这样处理的 用json格式 前后端 交互
3 年多之前 回复
qq_36950259
ssyqqqqqq 那你得意思就是说,我后台不管拿到什么样的数据类型,传到前台都会变成json类型吗
3 年多之前 回复
qq_36950259
ssyqqqqqq 我现在的问题就是,后台拿到数据后转成json,然后前台也用json接收,我不知道该怎么传到前台,直接return吗
3 年多之前 回复
luweihualulei
阿磊_kb 回复qq_36950259: json格式
3 年多之前 回复
qq_36950259
ssyqqqqqq 你把json转成String类型了,那界面接收的也是String类型吗
3 年多之前 回复

我也遇到过这样子的问题。

qq_36950259
ssyqqqqqq 然后呢。怎么处理的
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐