有时候需要在前台自定义对象,然后把对象封装在list中,在传送到后台,这样的思想也比较合理

1. 前台代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$scope.saveScore = function () {
    $scope.userScoreList = new Array();//自定义数组
    angular.forEach ($scope.records, function (record, index) {
         
        if (record.score != null) {
            $scope.userScoreModel = {'userAnswerId'null,'score'null};//自定义对象结构
            $scope.userScoreModel.userAnswerId = record.userAnswerId;//赋值
            $scope.userScoreModel.score = record.score;
             
            $scope.userScoreList.push($scope.userScoreModel);//把对象封装在集合中
            debugger;
        }
    });
     
    if ($scope.userScoreList != null && $scope.userScoreList.length > 0) {
        var fd = new FormData();// 使用angularJS的FormData封装要传送的数据
        var userScoreRecords = angular.toJson($scope.userScoreList);//把对象(集合)转换为json串
        fd.append('userScoreRecords', userScoreRecords);//参数放入formData中
        debugger;//使用 debugger模式查看传值情况
        $http.post('/reviewProcess/save', fd, { //使用post方法 传送formdata对象
            transformRequest: angular.identity, //使用angular传参认证
            headers: {
                'Content-Type': undefined //设置请求头
            }
        })
        .success(function (data){
            toastr.success("success");
        })
        .error(function (data) {
            toastr.success("failed");
        });
    }
};

  2. 后台接收

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@ResponseBody
  @RequestMapping(value = "/reviewProcess/save", method = RequestMethod.POST)
  public void saveUserScore (@RequestParam("userScoreRecords") String userScoreRecords) { //使用requestparam接收前台传送的json串
      System.out.println(userScoreRecords);
      ObjectMapper mapper = new ObjectMapper(); // 使用fastJson的ObjectMapper反序列化json串为对象
      UserScoreModel record = null;
      try {
          JSONArray jsonArray = new JSONArray (userScoreRecords); //在后台把json串转换为json数组
          for (int i =0; i < jsonArray.length(); i++) {
              record = mapper.readValue(jsonArray.getJSONObject(i).toString(), UserScoreModel.class); //获取json数组的json对象并且反序列化为对应的对象
              System.out.println(record); // 得到对象后后台即可操作
          }
      catch (Exception e) {
          logger.error(e.getMessage(), e);
      }
  }

  

转载于:https://www.cnblogs.com/Jeremy2001/p/6824923.html

angularJS前台传list数组,后台springMVC接收数组相关推荐

  1. springMVC接收数组参数

    js传递数组 dd.do?titles[]=col1&titles[]=col2&titles[]=col3 var param = {titles:['col1','col2','c ...

  2. 前台传数据到后台的HelloWorld程序

    初学Javaweb,当我们在前台页面输入信息时,有可能会郁闷怎么让后台收到信息并处理,今天我就写个小例子给有困惑的同学演示一下. 首先我要先介绍下servlet,servlet 就是用Java编写的服 ...

  3. 后台接口接收数组,前端 ajax traditional参数必须为true

    后台接口需要接收数组数据 前端传值 parameters 则会变成 deviceType[]=value&deviceType[]=value-导致后端无法接收到数据 需要修改ajax配置参数 ...

  4. 前台传json ajax,ajax使用json数组------前端往后台发送json数组及后台往前端发送json数组...

    1.引子 2.前端往后台传输json数据 JSON.stringify()方法将json对象转为字符串形式.如果不使用**JSON.stringify()**方法,后台的java代码将不能获得json ...

  5. ajax前端传数组后端接收,前端AJAX传递数组给Springmvc接收处理

    前端传递数组后端(Spring)来接收并处理: 测试页面 function ccc() { var btn = document.getElementById("btn"); $. ...

  6. 前台传JSON到后台

    现在,有一个需求,我需要将表格中选中行的数据中的一部分传直接传到控制器中,然后保存到另外一张表中.一开始,我就想到在前台使用ajax构造json数据,然后控制器直接通过list接收. 选中界面中的行, ...

  7. webuploader上传文件,后台Java接收

    前台html页面: <!DOCTYPE html> <html> <head> <title>Insert title here</title&g ...

  8. ajax前台传json到后台解析的方法以及注意事项

    首先,如果是maven工程的话,需要在pom.xml文件中添加下方依赖<dependency><groupId>net.sf.json-lib</groupId>& ...

  9. 前台传list到后台_实学:Java开发自己的博客系统-第十八篇(后台侧边栏菜单)...

    侧边栏技术性尝试后,我们就可以加入对应的功能.让我们一步一步来. 首页快捷热点 首先,后台功能上,一般都有地方,可以让用户点击后进入网站前台的首页:用户不用在浏览器中输入网站链接,毕竟链接输入比较繁琐 ...

最新文章

  1. Leetcode每日必刷题库第1题,如何实现两数之和?
  2. MySQL同表关联的id替换名称_MySQL JOIN用另一个表中的值替换ID
  3. HTML 限制 input 输入类型
  4. oracle 数据文件recover,Oracle数据库意外删除数据文件的恢复(转载)
  5. 有2-3年工作经验但依然迷茫
  6. 《现代操作系统》精读与思考笔记 第一章 引论
  7. 前端开发---ppt展示页面评论区展示
  8. ASP.NET 5 WebApi 返回 HttpResponseMessage
  9. 暴力枚举 --- 8.1 Subsets --- 图解
  10. 《嵌入式Linux基础教程学习笔记一》
  11. C++中this指针小记
  12. php获取字段中的第几个数字_php提取字符串中的数字
  13. 显卡用什么软件作压力测试,推荐一个显卡的跑分跟压力测试的软件TimeSpy
  14. 基于开源飞控系统和安卓系统的4g5g物联网无人机实现
  15. 马尔可夫------马尔可夫不等式
  16. 线性回归以及非线性回归
  17. 数据量再大也不怕!笔记本电脑也可以分析 100GB 数据
  18. 微信如何开通直播?开通方法有2种
  19. Core Data详解
  20. Scala Case Class介绍

热门文章

  1. 设计模式--六大原则
  2. 链路层的封装方式与IP选路 (二)
  3. 通过nodejs插入删除MongoDB数据
  4. android ViewPager 实现点击小圆点切换页面 案例
  5. 原创 | OpenAPI 标准规范
  6. “RPC 好,还是 RESTful 好?” 不要选错了!
  7. 你这辈子可能都不需要看《计算机程序设计艺术》了!
  8. 图解分布式架构的演进过程
  9. 我在系统设计上犯过的14个错
  10. 剑指offer:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。