qq_51247807 2022-07-25 09:39 采纳率: 20%
浏览 40

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条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2022-07-25 09:58
    关注

    Struts?现在还有人用这个吗?这个漏洞很多的。
    看看这个:https://blog.csdn.net/seeker_lqq/article/details/88715500

    评论

报告相同问题?

问题事件

  • 创建了问题 7月25日

悬赏问题

  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考