零零落落__together 2024-01-16 19:18 采纳率: 40%
浏览 10

这是一个关于js的问题


package com.tyut.controller;



import com.tyut.pojo.MyDialogData;
import com.tyut.pojo.traveller;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.google.gson.Gson;
import org.springframework.web.servlet.ModelAndView;

import java.io.IOException;
import java.io.InputStream;

@Controller
@RequestMapping("/submitOrder")
public class SubmitOrderController {

   @PostMapping(produces = MediaType.TEXT_PLAIN_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
    public ModelAndView submitOrder(@RequestBody MyDialogData dialogData) throws IOException {
       System.out.println(dialogData);
       System.out.println("baibaibai");
       ModelAndView modelAndView = new ModelAndView();
       modelAndView.setViewName("submitOrder");
       return modelAndView;


   }
}
package com.tyut.pojo;

public class MyDialogData {
    private String myDialogData;
    public MyDialogData() {
        // 默认无参构造函数
    }

    public String getMyDialogData() {
        return myDialogData;
    }

    public void setMyDialogData(String myDialogData) {
        this.myDialogData = myDialogData;
    }
}

<%--
  Created by IntelliJ IDEA.
  User: 86130
  Date: 2024/1/11
  Time: 21:16
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>选择乘客</title>
<%--    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>--%>
    <script type="text/javascript"  src="${pageContext.request.contextPath }/js/jquery-3.6.0.js"></script>
    <style>
        body {
            font-family: Arial, sans-serif;
            padding: 20px;
            background-image: url("${pageContext.request.contextPath}/img/03.jpg");
        }

        .container {
            max-width: 600px;
            margin: 0 auto;
            background-color: #fff;
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        }

        h1 {
            text-align: center;
            margin-bottom: 20px;
        }

        .form-group {
            align-items: center;
            background-color: #ffffff;
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            display: flex;
        }

        .add_passengers {
            justify-content: flex-start;
            display: flex;
        }

        .over {
            flex: 1;
            justify-content: flex-end;
            display: flex;
        }

        #myButton {
            background-color: orange;
            border: none;
            color: white;
            padding: 10px 20px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 16px;
            margin: 10px;
            cursor: pointer;
            border-radius: 4px;
            transition: background-color 0.3s ease;
        }

        #myButton:hover {
            background-color: orange;
        }
        #myButton0 {
            background-color: orange;
            border: none;
            color: white;
            padding: 10px 20px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 16px;
            margin: 10px;
            cursor: pointer;
            border-radius: 4px;
            transition: background-color 0.3s ease;
        }

        #myButton0:hover {
            background-color: orange;
        }
        #closeButton {
            background-color: orange;
            border: none;
            color: white;
            padding: 10px 20px;
            position: absolute;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 16px;
            margin: 10px;
            cursor: pointer;
            border-radius: 4px;
            transition: background-color 0.3s ease;
        }

        #closeButton:hover {
            background-color: orange;
        }

        #myDialog {
            display: none;
            background-color: #f0f0f0;
            padding: 20px;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 400px;
            height: 300px;
        }

        #myDialog h3 {
            margin-top: 0;
        }
        .selectedOptions {
            font-size: 18px;
            line-height: 1.5;
            margin-bottom: 10px;
        }

    </style>
</head>
<body>
<h1>选择乘客</h1>
<div class="container">
    <c:forEach items="${rootList}" var="rootList">
        <form method="post">
            <br class="form-group">
            <label>
                <input type="checkbox" id="option" value=${rootList.root}> ${rootList.root}
            </label>


        </form>
    </c:forEach>
    <span class="add_passengers"><a href="/0110_Web_exploded/selects">
                    <button type="button" id="myButton0">新增旅客</button></a>
                    <button id="myButton">提交订单</button>
                </span>








<%--    <button id="myButton">提交订单</button>--%>

    <div id="myDialog">
        <h3>选中的乘客</h3>
            <p id="selected"></p>
            <button id="closeButton">确认支付</button>

    </div>

</div>

<script>
        document.getElementById('myButton').addEventListener('click', function() {
            var selectedOptions = [];
            var checkboxes = document.querySelectorAll('input[type=checkbox]:checked');
            for (var i = 0; i < checkboxes.length; i++) {
                selectedOptions.push(checkboxes[i].value);
            }
            document.getElementById('selected').innerHTML = selectedOptions.join("<br>");
            document.getElementById('myDialog').style.display = 'block';
            var myDialogData = document.getElementById('myDialog').innerHTML;
        });


        document.getElementById('closeButton').addEventListener('click', function() {
            document.getElementById('myDialog').style.display = 'none';
            var myDialogData = document.getElementById('selected').innerHTML;
            var requestData = { myDialogData: myDialogData };
            $.ajax({
                url: '${pageContext.request.contextPath}/submitOrder',
                type: 'POST',
                contentType: 'application/json;charset=UTF-8',
                data:  JSON.stringify(requestData),
                success: function(response) {

                    console.log(response);
                    alert(myDialogData);
                    // alert('支付成功!');
                },
                error: function(xhr, status, error) {
                    // 处理错误响应
                    console.log(error);
                    alert('支付失败!');
                }
            });

        });
        // document.getElementById('closeButton').addEventListener('click', function() {
        //     alert('支付成功!');
        // });

</script>
</body>

</html>





后端老是取不到数据MyDialogData,但是改成String能取到

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-16 22:33
    关注

    【以下回答由 GPT 生成】

    这段代码中使用了以下技术和框架:

    1. Spring框架:通过@Controller注解和@RequestMapping注解来定义一个控制器类和请求映射。

    2. Spring MVC框架:通过@PostMapping注解和@RequestBody注解来处理POST请求和接收JSON数据。

    3. Apache MyBatis框架:通过import com.tyut.pojo.MyDialogData; 和 org.apache.ibatis.session.SqlSession等类的引入,以及通过MyDialogData类的使用,可以看出该项目用到了MyBatis框架。

    4. Google Gson库:通过import com.google.gson.Gson; 来引入Google Gson库,用于JSON序列化和反序列化。

    5. Servlet容器/服务器:这段代码是一个运行在Servlet容器或服务器上的Java Web应用,在代码中有使用Spring的ModelAndView来返回视图。

    总结:这段代码使用了Spring框架的Spring MVC模块处理Web请求,使用了Apache MyBatis框架进行持久化操作,同时使用了Google Gson库处理JSON数据。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 1月16日

悬赏问题

  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆