首页 > 解决方案 > 无法在 HTML 表单中发送 POST 请求

问题描述

因此,我正在从我的 NodeJS 服务器提供这个特定的 HTML 文件,该文件正在正确呈现。但问题是当我点击 CREATE 按钮时,我无法向我的服务器发送 POST 请求。我正在获取在 GET 请求上呈现的页面。但是当我点击 POST 时。我想将 POST 请求发送回我的服务器。请帮我整理一下。

    <section>
        <form action="/login" method="POST"></form>
        <div class="container-fluid ">
            <div class="row">
                <div class="col-md-3"></div>
                <div class="col-md-6 bg-light p-5">
                    <div class="row">
                        <div class="col-md-3"></div>
                        <div class="form-group col-md-6">
                            <label class="form-label col-label" for="old_pass">First Name</label>
                            <input class="field__input" type="text" name="old_pass" placeholder="" id="old_pass">
                        </div>
                        <div class="col-md-3"></div>
                        <div class="col-md-3"></div>
                        <div class="form-group col-md-6">
                            <label class="form-label col-label" for="new_pass">Last Name</label>
                            <input class="field__input" type="text" name="new_pass" placeholder="" id="new_pass">
                        </div>
                        <div class="col-md-3"></div>
                        <div class="col-md-3"></div>
                        <div class="form-group col-md-6">
                            <label class="form-label col-label my-3" for="emailaddress_personal;">Email Address</label>
                            <input class="field__input" type="text" name="emailaddress_personal;" placeholder="joe.black@gmail.com" id="emailaddress_personal;">
                        </div>
                        <div class="col-md-3"></div>
                        <div class="col-md-3"></div>
                        <div class="form-group col-md-6">
                            <label class="form-label col-label" for="chk_new_pass">Password </label>
                            <input class="field__input" type="password" name="chk_new_pass" placeholder="" id="chk_new_pass">
                        </div>
                        <div class="col-md-3"></div>

                    </div>
                    <div class="form-group text-center">
                        <a class="btn btn-outline-dark" type="submit">Create</a>
                    </div>
                </div>
                <div class="col-md-3"></div>
            </div>
        </div>
        </form>
    </section>

标签: htmlnode.jswebrequest

解决方案


每当我单击按钮时,什么都没有发生。

你有两个问题。

你没有按钮。

<a class="btn btn-outline-dark" type="submit">Create</a>

您有一个样式为按钮的锚(缺少href和属性)。name

CSS 不会取代语义 HTML,尤其是当该 HTML 的语义具有您需要的特定功能时。

提交按钮使用buttonorinput元素。

<button>Label</button>

<input type="submit" value="Label and value">

您的表格内没有任何内容

<form action="/login" method="POST"></form>

表单的结束标记紧跟在开始标记之后,因此没有任何表单控件位于其中。

稍后您有第二个结束标记被忽略(因为表单已经关闭)。

删除第一个结束标记。


推荐阅读