项目-测评:答题功能问题的解决方案

做的一个答题的功能:
有选项,和题目,用vue框架将选项和题目获取到了,
在选择下一题的时候将数据填充到map对象中。
将所有数据选择完毕后提交数据保存数据库。

在保存的过程中碰到了一些问题。
1.获取map对象的时候不加this获取不到数据= this.answers
2.传后台传不过去,map类型的数据我在网上按照方法找了很多种都传不过去。
3.没办法只能map转换成数组对象传入后台,折腾半天。[但是这个又增加了很多不必要的代码量,技术有限,先解决再说.]

  var list=[]; //声明为一个对象,这是一个数组对象

                var as=this.answers
                for (var x of as) { // 遍历Map
                    var eval= new Object();
                  //  alert(x[0] + '=' + x[1]);
                    //试卷题目id和试卷选项id
                    eval.EvalQuestionId=x[0];
                    eval.evalQnOptionId=x[1];
                    list.push(eval);
                }
                //发送ajax请求将数据保存下来

                $.ajax({
                    type: "post",
                    url: "/custUser/examinationList2",
                    data:{"answerDto":JSON.stringify(list) },
                    success: function (result) {
                     //   alert(result.data)
                    }
                });

  

import lombok.Data;

@Data
public class AnswerDto {
    //题目id
    private String EvalQuestionId;

    //选项id
    private String evalQnOptionId;

}

  

 @ResponseBody
    @RequestMapping(value = "/examinationList2")
    public Result examinationList2( String answerDto) {
       // User user = (User) JSONObject.toBean(JSONObject.fromObject(request.getParameter("user")), User.class);
        List<AnswerDto> array = JSON.parseArray(answerDto, AnswerDto.class);
        Result re=new Result();
        return re;
    }

  

原文地址:https://www.cnblogs.com/q1359720840/p/10985677.html