req.getParameter 返回 null

我试图从我的请求中获取值,但它返回 null。问题是什么?


这是我的表格:


    <form class="register-form">

        <input class="name" type="text" placeholder="name"/>

        <input class="password" type="password" placeholder="password"/>

        <button id="register">create</button>

    </form>

我的发帖方法:


    protected void doPost(HttpServletRequest req, HttpServletResponse resp) {

        String name = req.getParameter("name"); 

        if (Objects.isNull(projectService.getByName(name))) {

            logger.info("Registration new project " + name); //NAME == NULL ???

            String password = req.getParameter("password");

            int budget = Integer.parseInt(req.getParameter("budget"));


         ...


        resp.setContentType("text/plain");

        resp.setCharacterEncoding("UTF-8");

        resp.getWriter().write("Success");

    }

和 JS 部分:


$(document).ready(function () {

    $("button#register").click(function () {

        var name = $("form.register-form input.name").val();

        var password = $("form.register-form input.password").val();

        if (name == '' || password == '') {

            alert("Please fill all fields...!!!!!!");

        }  else {

            var projectRegistration = {

                projectName: name,

                projectPassword: password

            };

            $.post("registration", projectRegistration, function (data) {

                if (data === 'Success') {

                    $("form")[0].reset();

                }

            });

        }

    });

});

我使用的是 Tomcat 版本 8.5.56


冉冉说
浏览 179回答 2
2回答

烙印99

问题的根本原因是您没有传递任何带有名称的参数,name因为您没有带有名称的输入字段,name.代替<input&nbsp;class="name"&nbsp;type="text"&nbsp;placeholder="name"/>和<input&nbsp;class="name"&nbsp;type="text"&nbsp;placeholder="name"&nbsp;name="name"/>

交互式爱情

在 JS 代码中,您正在构建一个传递给发布请求的对象projectRegistration 。这个对象有 key&nbsp;projectName和projectPassword应该在 servlet 中使用:String&nbsp;name&nbsp;=&nbsp;req.getParameter("projectName");希望能帮助到你。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript