qq_51247807 2022-07-25 09:39 采纳率: 33.3%
浏览 32

SSH项目Ajax传递数据后端如何接收

问题遇到的现象和发生背景

SSH项目中我从前端ajax中传递的数据,后端如何接收

问题相关代码,请勿粘贴截图
Struts配置文件配置

          <action name="scores" method="execute" class="com.matrix.test.scores.action.ScoresAction">              
            <result name="success" type="json">
                  <param name="root">returnMap</param> 
              </result>
          </action>
Action编写
    @Override
    public String execute() {
        pageList.setPage(page);
        pageList.setPageSize(pagesize);
        String result = "success";
        String operateFlag = super.getRequest().getParameter("operateFlag") == null ? ""
                : super.getRequest().getParameter("operateFlag");
        try {

            if ("getdatapagelist".equals(operateFlag)) {
                    // 获取list
                String seacherinput = super.getRequest().getParameter("seacherinput") == null ? ""
                        : super.getRequest().getParameter("seacherinput");
                
                String subjectId = super.getRequest().getParameter("subjectId") == null ? ""
                        : super.getRequest().getParameter("subjectId");
                
                seacherinput = URLDecoder.decode(seacherinput, "UTF-8");
                dao.getDataPageList(pageList, seacherinput, subjectId);
                returnMap.put("total", pageList.getCount());
                returnMap.put("rows", pageList.getDataArray());
            }
            else if ("exportExcelCMS".equals(operateFlag)) {
                
                List list = new ArrayList();
                list = dao.importData();
                
                String[] titleArr = new String[]{"所在班级","学生姓名","科目","成绩"};
                String[] columnArr = new String[]{"gradename","stuname","subname","score"};
                String messages = "";
                
                try {
                    messages = excelDAO.dataExport("学生成绩查询",titleArr,"学生成绩查询",columnArr,list);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                
                returnMap.put("flag", messages);
            }
            else if ("download".equals(operateFlag)){
                
                forward="download";
                
            }else if("updateData".equals(operateFlag)) {
                System.out.println("&&&&&&&&&&&&&&&");
                System.out.println(scoresPo.getScore());
                returnMap.put("status", "success");
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
前端JS编写
//定义对象数组,放置编辑之后的行数据
            var scoreList = []
            var rows = $("#maindatagrid").datagrid("getRows"); //获取所有行
            for (var i = 0; i < dataList.length; i++) {
                $("#maindatagrid").datagrid('endEdit', dataList[i]);
                //通过行号获取行数据
                var row = rows[dataList[i]];
                scoreList.push(row);
            }
            var json = JSON.stringify(scoreList); //转化为Json数据类型
            console.log(json)
            $.ajax({
                url : "<%=request.getContextPath()%>/scores?operateFlag=updateData", // 数据发送方式
                type : "post", // 接受数据格式           
                dataType : "json", // 要传递的数据
                data : {data:json},
                success : function(data) {
                    if (data.status == "success") {
                        $("#guanbimodal").click();
                        layer.msg('修改成功', {
                            icon : '1'
                        });
                        $('#maindatagrid').datagrid('reload');
                    } else {
                        layer.msg('修改失败', {
                            icon : '2'
                        });
                    }
                }
            });

运行结果及报错内容

后台不知道如何接收参数

我的解答思路和尝试过的方法

JSON对应数据
[
{
"gradename": "五班",
"score": "81",
"student_id": "",
"stuname": "富荔",
"subject_id": "",
"subname": "数学"
},
{
"gradename": "五班",
"score": "81",
"student_id": "",
"stuname": "富荔",
"subject_id": "",
"subname": "历史"
}
]

我想要达到的结果

后端如何接收到我传递过来的数据

  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 创建了问题 7月25日

      悬赏问题

      • ¥15 proteus仿真,频率计,想问问这图里的元件都是什么?叫什么名字
      • ¥15 用51单片机普中开发板实现数字时钟
      • ¥15 有没有大佬能写一个按键LED灯交替闪烁的keil5里的编程
      • ¥15 用python解决excel文件读写
      • ¥15 分别用到哪些协议?如何实现的通信过程?
      • ¥30 nginx代理第三方接口
      • ¥20 求求了有没有人帮我看看怎么判断稳定性
      • ¥50 求解R语言的数据可视化问题
      • ¥15 两块fpga数据传输时钟同步问题
      • ¥15 pycharm 导入paddle模块后找不到enable_static属性