Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我写了一个类似于教程中解释的代码,但它不起作用。描述中包含的错误

我写了一个类似于教程中解释的代码,但它不起作用。描述中包含的错误
EN

Stack Overflow用户
提问于 2020-09-14 04:09:25
回答 2查看 42关注 0票数 0
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    let express=require("express") 
    let ourApp=express()
    ourApp.get('/',function(req,res) {
        res.send(
            `<form action="/answer" method="POST">
            <h1>What is the name of tallest mountain in the world?</h1>
            
        <input name="correct">
        <button>Click here to submiit</button>   </form>`
        ) }) 
    ourApp.post('/answer',function(req,res){
        if(req.body.correct=="everest")
                res.send("Thats a correct answer")
             } ) 
    ourApp.listen(3000)

错误:

TypeError: Cannot read property 'correct' of undefined

EN

回答 2

Stack Overflow用户

发布于 2020-09-14 04:46:16

没错,您的应用程序需要一个解析器来解析请求正文。你需要一个中间件程序来解析你的请求体。在安装body-parser之后尝试。

安装后,您可以读取req.body,否则express将无法识别您的req.body对象,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let express = require("express");
let ourApp = express();
var bodyParser = require("body-parser");
ourApp.use(
  bodyParser.urlencoded({
    extended: true,
  })
);
ourApp.use(bodyParser.json());
ourApp.get("/", function (req, res) {
  res.send(
    `
        <form action="/answer" method="POST">
        <h1>What is the name of tallest mountain in the world?</h1>
    <input name="correct">
    <button>Click here to submiit</button>   </form>
    `
  );
});
ourApp.post("/answer", function (req, res) {
  if (req.body.correct.toLowerCase() == "everest") return res.send("<h2> Thats a correct answer </h2>");
  return res.send("<h2> Nope your are wrong </h2>");
});
ourApp.listen(3000);

试试这段代码。ourApp.use() -在你的应用程序中包含正文解析器中间件,请尝试阅读正文解析器here对你的应用程序做了一些小修改:)

票数 0
EN

Stack Overflow用户

发布于 2020-09-14 04:48:29

原因:- its not working because you need to add some middleware to parse the post data of the body.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ourApp.use(express.json());
    ourApp.use(express.urlencoded());

说明如何分析应用程序如何分析POST数据

我的一条建议。

  • 的早期版本曾经捆绑了许多中间件。bodyParser就是其中的一个中间件。当Express4.0发布时,他们决定从Express中删除捆绑的中间件,并将它们单独打包。

  • 安装bodyParser模块后,语法从app.use(express.json())更改为app.use(bodyParser.json())。

  • bodyParser在4.16.0版中被重新添加到Express中,因为人们希望像以前一样将它与Express捆绑在一起。这意味着如果您使用的是最新版本,则不必再使用bodyParser.json()。您可以改用express.json()。

试试这个,这个很管用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let express=require("express");
let ourApp = express();
ourApp.use(express.json());
ourApp.use(express.urlencoded());
ourApp.get("/", function (req, res) {
  res.send(
    `<form action="/answer" method="POST">
        <h1>What is the name of tallest mountain in the world?</h1>
        
    <input type="text" name="correct" id='jatin'> 
    <button>Click here to submiit</button>  </form> `
  );
});

ourApp.post("/answer", function (req, res) {
  console.log(req.body);
  if (req.body.correct == "everest") res.send("Thats a correct answer");
});

ourApp.listen(3000, function (req, res) {
  console.log("server started");
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63877976

复制
相关文章
为了更好的代码,我写了一个工具:Coca
如我在先前的文章所说,我最近的工作主要是在做架构重构、代码重构。所以,一如既往地,我又写了个工具来帮助我完成相关的工作。这样一来,下次我可以更快速地完成相关的工作。
Phodal
2020/02/11
1.1K0
为了更好的代码,我写了一个工具:Coca
自己写的一个类似于jQuery中的toggle函数
自己写的一个类似于jQuery中的toggle函数 这是HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>公共测试页</title> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript
用户1719978
2018/07/05
7070
MySQL中查询哪些存储代码中写了IP地址
使用正则表达式实现: select * from information_schema.routines where routine_definition regexp '^((25[0-5]|2
用户1148526
2022/04/13
1.7K0
Log4net中ConversionPattern的代码解释[通俗易懂]
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息 %n(new line):換行 %d(datetime):输出当前语句运行的时刻 %r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数 %t(thread id):当前语句所在的线程ID %p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等 %c(class):当前日志对象的名称 %L:输出语句所在的行号 %F:输出语句所在的文件名 %-数字:表示该项的最小长度,如果不够,则用空格填充
全栈程序员站长
2022/09/23
8850
史上被复制最多的StackOverflow Java代码段中包含一个Bug
一直以来,被复制使用最多的StackOverflow Java代码段中暗藏一个bug。该代码的作者,Palantir的Java开发人员Andreas Lundblad亲自承认了这件事。
FB客服
2019/12/10
6600
史上被复制最多的StackOverflow Java代码段中包含一个Bug
记 S3Service 代码中的一个低级错误
osgl-storage 是 osgl 工具箱 中用于简化存储的. 其特点是接口简单, 支持多种存储引擎插件, 包括本地文件系统, AWS S3, Azure Blob, 七牛 Kodo 服务.
老码农
2020/02/25
5190
Matlab实现类似于OpenCV中的findContours()函数。
1、点击[Matlab] 2、点击[命令行窗口] 3、按<Enter>键
裴来凡
2022/05/28
1.2K0
Matlab实现类似于OpenCV中的findContours()函数。
纠正 | 我在持续交付课程中的授课错误
在DevOps Master中讲持续交付一课,其中讲到发布频率的篇章,中文版里面的翻译是这样的(来源于精益企业):
用户1593318
2019/11/19
1.5K0
[日常]UserAgent中的AhrefsBot解释
Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)
唯一Chat
2021/10/11
1.9K0
在一个.net sln中包含多个project,project引用同一个dll导致的错误
在一个.net sln中包含多个project,其中四个project应用了同一个.net assamply:Lucene.Net。这四个project其中一个编译异常: ForumsDataSou
张善友
2018/01/19
1.8K0
反思我在管理中犯过的重大错误
近一年来,我在管理中犯下的2个重要错误。该错误导致团队结构不清晰,骨干核心人员不稳定,易流失。
用户9913368
2022/12/17
1.1K0
反思我在管理中犯过的重大错误
前端测试题:module模块中,对下列语句的描述,错误的是?
使用import命令的时候,用户需要知道所要加载的变量名或函数名,否则无法加载。
舒克
2020/04/07
2.1K1
前端测试题:module模块中,对下列语句的描述,错误的是?
使用 ControlFlag 扫描出 PHP 代码中的错误
ControlFlag是一个开源的、利用机器学习来发现任意代码库中的错误的项目,起初它专注于发现C/C++代码中的错误,但随着其新的V1.1版本的发布,开始支持发现PHP代码当中的错误。
崔哥
2022/05/25
1K0
为什么我的样式不起作用?
大概看一下代码,是有一个Parent的父组件,蓝底白字。还有一个Child的子组件,红底黑字。 那么实际渲染出的样式是什么样子的呢。如下图:
w候人兮猗
2020/07/01
4.2K0
Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍
使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建。在.gitignore文件中的每一行保存一个匹配的规则例如:
Java架构师历程
2019/03/08
4.6K0
WordPress中的jQuery库不起作用的相关问题
WordPress 中的jQuery 库问题曾经困扰了我一段时间。如果仅仅加载WordPress 自带的jQuery 库,在使用一些jQuery 插件的时候明明是代码没有错误,但就是不起作用,该有的效果不能实现;但加载了原版的jQuery 库却又可以了,这样一来却同时加载了两个jQuery 库,网页速度拖慢了而且根本没有必要。 后来才了解到:为了防止与其他 JS 库(如 YUI)冲突,WordPress 内置 jQuery 库的末尾都在原版的基础上加入了 jQuery.noConflict()这个东东,以至
Jeff
2018/01/19
4K0
pycharm缺少模块-解释器(interpreter)中已经包含还是提示ModuleNotFoundError
pycharm缺少模块 ,搞了好久,自己测试出来的, settings - project - project interpreter - 配置按钮中 - 添加even - 模块列表中已经显示出来了 但还是提示 ModuleNotFoundError
waki
2021/12/08
1.3K0
pycharm缺少模块-解释器(interpreter)中已经包含还是提示ModuleNotFoundError
网页中插入FLASH代码的参数解释与使用技巧
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" WIDTH="550" HEIGHT="400" > <PARAM VALUE="myFlashMovie.swf"> <PARAM VALUE=high> <PARAM VALUE=#FFFFFF> <EMBED src="/support/flash/ts/documents/myFlashMovie.swf" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400" NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> </EMBED> </OBJECT>
阳光岛主
2019/02/19
1.7K0
我写了一个Python小项目
最近我写了一个 Python 练手小项目,它是一个 PC 桌面版的便签程序,很简陋。写这个小项目是为了熟悉一下用 Python 进行一个完整的项目开发,进一步熟练 Python 的使用。
SuperFeng
2019/09/26
5800
我写了一个Python小项目
我在使用 Go 过程中犯过的低级错误
循环迭代器变量是一个在每次循环迭代中采用不同值的单个变量。如果我们一直使用一个变量,可能会导致不可预知的行为。
用户5166556
2023/03/18
2.1K0
我在使用 Go 过程中犯过的低级错误

相似问题

我完全按照教程的说明编写了代码,但它不起作用

210

我用Verilog编写了这段代码,没有错误消息,但它不起作用

12

我在javascript上编写了替换字符串中的字符的代码,但它不起作用

10

我想获取我的下拉列表数据,我写了一个代码,但它不工作

236

我只是写了一个vgg16,但它不起作用

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文