Node.js、express、html 表单 req.body 未定义

2024-01-05

我不明白为什么 req.body 未定义。它总是访问node.js服务器“/formstuff”中的函数,但req.body未定义。

当我查看结果时,它确实发布到了 cmd,我在任何地方都看不到我的查询。事实上 res.query 和 res.params 是空的。

任何帮助将不胜感激,谢谢。

Express:

var express = require('express'),
app = express();
var fs = require('fs'); 
var Promise = require('promise');



// Handle Get Request
app.get('/', function(req, res){
// get stuff from request
var index;

fs.readFile('./form.html', function (err, data) {
if (err) {
    throw err;
}
    index = data;

    res.setHeader("Content-Type", "text/html");
    res.send(index);

});

});


app.post('/formstuff', function(req, res){
    console.log(req.body);

    res.send();
});

HTML:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 <style type = "text/css">

body
{
    margin:0;
}
#head
{   
    width:100%;
    color:#FAFAFA;
    height:170px;
    text-shadow: 2px 2px 0px rgba(150, 150, 150, 1);
    background: #39d800; /* Old browsers */
    background: -moz-linear-gradient(top,  #39d800 0%, #00a008 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#39d800), color-stop(100%,#00a008)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #39d800 0%,#00a008 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #39d800 0%,#00a008 100%); /* Opera 11.10+ */
        background: -ms-linear-gradient(top,  #39d800 0%,#00a008 100%); /* IE10+ */
    background: linear-gradient(to bottom,  #39d800 0%,#00a008 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#39d800', endColorstr='#00a008',GradientType=0 ); /* IE6-9 */
    font-family: Brush Script MT;
    font-weight:bold;
    font-size:8.5em;
    text-align:center;
}

form div
{
    padding:0.8%;
}
fieldset
{
    font-size: 2em;
    position:relative;
}
input
{
    width: 150px;
    height: 50px;
    font-size: 1.2em;
    clear:both;
}
 </style>
</head>
<body>

<div id = "head">Notifye</div><br>

<br>

 <fieldset>
    <legend>Search</legend>

        <form name = "form" method = "post" action = "http://127.0.0.1:3000/formstuff">

        <input type="text" required = "required" name = "tag" placeholder = "lolcats">
        <div><input type = "submit" name = "submit" value = "Submit" id = "sub"></div>

    </form>

 </fieldset>

</body>

您缺少正文解析中间件。

如果您不上传文件,则可以npm install body-parser然后添加app.use(require('body-parser').urlencoded());在您的任何路线之前。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js、express、html 表单 req.body 未定义 的相关文章

随机推荐

  • 使用自定义引导加载程序创建可引导 ISO 映像

    我正在尝试将我用汇编语言编写的引导加载程序转换为ISO图像文件 以下是代码来自MikeOS http mikeos sourceforge net write your own os html引导加载程序 这是我的引导加载程序代码 BITS
  • 在 C# 中创建不同的画笔图案

    我正在尝试做一些类似于绘画的东西 我想弄清楚如何制作不同的画笔样式 就像在 Paint 3D 中一样 使用钢笔工具与使用画笔工具时 您会得到一定的线条填充 我不知道从哪里开始 我一天中的大部分时间都在浏览文档并观看 YouTube 视频 我
  • DataTable服务器端处理添加编辑列

    我正在使用数据表 1 10 13 服务器端处理 我想添加一个带有编辑用户链接的 编辑 列 这个怎么做 我的js文件 userTable DataTable processing true serverSide true ajax type
  • 如何将Imageview放在其他布局后面

    我使用图像视图进行动画 这样它看起来就像从左到右的移动 但我的图像显示在其他视图的前面 以便用户能够单击图像 我正在尝试显示它behind另一种观点
  • 从 ROC 曲线获取阈值

    我有一些模型 使用ROCR将预测类百分比向量封装起来 我有一个性能对象 使用规格 tpr fpr 绘制性能对象可以得到一条 ROC 曲线 我正在比较特定误报率阈值 x 的模型 我希望从性能对象中获取真阳性率 y 的值 更重要的是 我想获得用
  • 在 ssh 模式下运行时在 vscode 中打开本地终端

    当我通过 ssh 连接到 vscode 中的远程计算机时 集成终端会在远程计算机中打开一个终端 有没有办法用本地计算机的终端打开终端面板 Using the command palette default ctrl shift p cmd
  • ASP.NET 成员资格保持身份验证问题

    因此 我的应用程序很奇怪 因为当您登录时 您将保持登录状态一两页 然后就迷路了 我的设置是这样的
  • C99 支持真的还没有广泛普及吗?

    我正在阅读 GNOME 项目的一些最佳实践 他们一直强调的一件事是避免 C99 功能 因为支持仍然不广泛 他们提到的一些功能包括单行注释和在块中间声明变量等功能 这让我想知道 C99 是否支持 即使是像这样的基本功能 评论 真的还没有广泛传
  • 如何在 JAVA 中使用 PDFBox 从 PDF 创建图像

    我想从 PDF 的第一页创建图像 我正在使用 PDFBox 在网上研究后 我发现了以下代码片段 public class ExtractImages public static void main String args ExtractIm
  • libpthread.so.0:添加符号时出错:命令行中缺少 DSO

    当我编译 openvswitch 1 5 0 时 遇到以下编译错误 gcc Wstrict prototypes Wall Wno sign compare Wpointer arith Wdeclaration after stateme
  • 从监听器访问对象

    假设我们有一些Foo包含的类 public void setOnSomethingListener OnSomethingListener listener 我们将其注册为 Foo foo new Foo foo setOnSomethin
  • 如何公开嵌入式 Flash 对象的 JavaScript 接口?

    JavaScript 和Flash Player 可以通过Flash 的ExternalInterface 机制交换数据 您注册希望能够从JavaScript 调用的ActionScript 函数 我的问题 如何找出 Flash 对象的哪些
  • Python:为什么我收到 AttributeError:__enter__

    我没有重新分配 open 关键字 但仍然收到此错误 有任何建议或方向来修复我的错误吗 with tempfile mkdtemp as test dir print test dir AttributeError enter 我也是Pyth
  • 只有变量可以通过引用传递 - php

    我正在尝试此代码 但出现此错误 Only variables can be passed by reference in xxx script class page function insert db of form arr i 0 fo
  • 如何用 Jest 模拟 Axios?

    我有一个函数client index js这是使用 axios 发出请求 import axios from axios const createRequest async url method gt const response awai
  • 从多线程获取单例实例的安全方法

    Method 1 DataCenter DataCenter getInstance static DataCenter instance return instance Method 2 DataCenter DataCenter get
  • 实体框架实体不在 DataSpace.OSpace (_workspace.GetItemCollection(DataSpace.OSpace)) 中,但在 DataSpace.CSpace 中

    我一直在闲逛XMLs 代表实体框架 我尝试创建一种可以在运行时注入属性的实体 首先我创建了DynamicEntity动态的物体 public class DynamicEntity DynamicObject Dictionary
  • 从 Java ArrayList 中删除而不进行迭代

    我正在做一项作业 但我找不到一种方法来使其正常工作 我有一个 ArrayList 其中包含 5 个学生的信息 我需要构造一个方法来删除其中一个对象 但我不需要 想要迭代 因为它是静态删除 我有以下代码 import java util Ar
  • UI线程既运行消息泵又执行代码?

    Winforms 中的 UI 线程负责通过调用来运行消息泵Application Run 我所说的消息泵是指不断从队列中拉出消息的无限循环 所以现在我的问题是 UI 线程如何在 ex 时也执行代码块 触发点击处理程序 它应该忙于消息泵 并且
  • Node.js、express、html 表单 req.body 未定义

    我不明白为什么 req body 未定义 它总是访问node js服务器 formstuff 中的函数 但req body未定义 当我查看结果时 它确实发布到了 cmd 我在任何地方都看不到我的查询 事实上 res query 和 res