当前位置: 首页 > 知识库问答 >
问题:

!最新一期!节点JS使用express读取表单输入

陆光济
2023-03-14

新问题!

我得到了要显示的网页,并且能够检索和显示用户输入。
然而,我的代码只允许一个用户输入,如果我在超文本标记语言中添加另一个输入字段,其余的将是未定义的。
这是更新的代码,其中只会显示姓氏。

/*server.js*/
var express = require('express');
var bodyParser = require('body-parser');
var formHTML = require('./formHTML');

var app = express();
app.use(bodyParser.json()); // support json encoded bodies
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies

app.get('/', function(req, res){
  var html = formHTML.html1;

  res.send(html);
});

app.post('/', function(req, res){
  var firstName = req.body.firstName;
  var lastName = req.body.lastName;
  var html = formHTML.html2;

  html = html.replace('firstName', firstName);
  html = html.replace('lastName', lastName);
  res.send(html);
});

app.listen(8080);


/*formHTML.js*/
var html1 = '<form action="/" method="post">' +
  'Enter your first name:' +
  '<input type="text" name="firstrName" placeholder="..." />' +
  '<br>' +
  'Enter your last name:' +
  '<input type="text" name="lastName" placeholder="..." />' +
  '<br>' +
  '<button type="submit">Submit</button>' +
  '</form>';

var html2 = 'Hello: firstName lastName .<br>' + '<a href="/">Try again.</a>';

exports.html1 = html1;
exports.html2 = html2;

我可以尝试检索两个用户输入吗??谢谢

=========================================================================

我有下面的代码,可以打开一个包含一个用户输入字段的网页,并使用express获取和显示用户的输入。

var express = require('express');
var bodyParser = require('body-parser');
var app = express();

app.use(bodyParser());

app.get('/', function(req, res){
  var html = '<form action="/" method="post">' +
    'Enter your name:' +
    '<input type="text" name="userName" placeholder="..." />' +
    '<br>' +
    '<button type="submit">Submit</button>' +
    '</form>';

  res.send(html);
});

app.post('/', function(req, res){
  var userName = req.body.userName;
  var html = 'Hello: ' + userName + '.<br>' +
    '<a href="/">Try again.</a>';
  res.send(html);
});

app.listen(80);

然而,我得到了以下错误,我不知道如何让它工作。有人能给我个提示吗?谢谢!

Thu,2016年6月2日15:10:23 GMT body parser不推荐bodyParser:在服务器上使用单独的json/urlencoded中间件。js:20:9 Thu,02 Jun 2016 15:10:23 GMT正文解析器已弃用未定义的扩展:在…提供扩展选项。。。。\节点\模块\正文解析器\索引。js:105:29

共有2个答案

郤望
2023-03-14

更改:

app.use(bodyParser());

与:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
寿和通
2023-03-14

body Parser()构造函数已被弃用(详细信息在此),您现在需要使用这些:

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({extended: true;});

extended设置为true时,它将使用qs库进行解析,当设置为false时,它将使用querystring。研究两者之间的差异以决定您要使用哪一种,我一直使用qs,没有任何问题。

 类似资料:
  • 我不知道这是如何可能的编程新我想打印值,在abc.txt中存在,但不知道如何做到这一点,使用节点js 预期输出:

  • Express(或Connect)的bodyParser中间件被标记为已弃用,建议用户改用: 然而,当我从节点运行示例时。在实际操作中,我使用curl按照书中的建议填写表格: 这不管用<代码>请求。未定义正文。我错过什么了吗?它可以与bodyParser配合使用。 截至:4 按以下方式解析json: 以这种方式解析urlencoded body: 那么就没有弃用警告了。extended:true(

  • 我正在构建一个endpoint/用户,它将返回用户中的内容。json文件。我正在使用aysnc/等待功能。 这会引发以下错误 语法错误:意外标记( 在对象上的createScript(vm.js:56:10)。在模块处运行InthisContext(vm.js:97:10)_在对象处编译(module.js:542:28)。模块_扩展。。模块处的js(模块js:579:10)。在函数tryModu

  • 我不熟悉node。js被困在这里了。我有一个json文件keyValue。类似于此的json 对于特定的键,我需要获取值。 如何在node中实现这一点。js。谢谢你的帮助。

  • 问题内容: 有人可以告诉我推荐的(最新的)方式来快速获取POST表单数据。 如此多的教程/帖子等都谈论bodyParser,但Express不再捆绑它,其他博客等建议直接使用urlencoded,但现在也不可用。 我一直在努力寻找有关这些框架或技术的准确信息。 顺便说一句,我很感兴趣的是非常简单的小型数据 问题答案: 您应该通过安装。现在,它作为一个单独的中间件来了。 之后,在您的app.js中添

  • 我正在用C语言创建一个单链表,它有头部和尾部指针,其中头部指针指向SLL的起始节点,尾部指针指向SLL的最后一个节点。我不想使用head指针遍历到列表末尾来删除节点。有没有办法让我可以使用尾指针删除SLL的最后一个元素? 下面是节点添加函数。头部和尾部初始化为NULL。 要删除第一个节点,使用以下函数: