Articles of body parser

如何知道哪个button被按下?

我正在学习node.js的基础知识和expression框架。 我有一个简单的页面,有两个button: <form action="/home2" method="post"> <button name="butt1">butt1</button> <button name="butt2">butt2</button> </form> 我想在控制台中看到哪个button被按下: router.post('/', function(req, res, next) { console.log(req.body.name); res.render('home2', { title: 'post' }); }); 在控制台,我只是看到 undefined 我怎样才能访问button的名称?

节点Body Parser和Cookieparsing器做什么? 我应该使用它们吗?

我已经阅读了所有可以find的文档,但是我找不到这两个中间件所做的简单解释。 body-parser中的body是指什么? 为什么需要parsing身体? 类似的cookie。 我是否正确地解释了cookie-parser “parsing”或啄倒伴随web用户的cookies? 最后,我已经看到Express4中body-parser既不安全也不赞成使用。 我不应该使用它?

使用身体分析器来传递zip文件

我有节点应用程序,它使用快递,在我需要通过邮政邮编 (例如从邮递员到节点服务器)发送的应用程序,目前我使用身体分析器像下面,但我不知道这是否好吗? app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.use(bodyParser.text({ type: 'application/text-enriched', limit: '10mb' })); 顺便说一句这是工作,但我想知道如果我使用它的权利…

req.body在服务器端未定义

我正在使用节点,表示,在服务器端的MySQL的应用程序。 我已经在server.js文件上写了serveral API,当我试图访问那些使用Postman然后req.body总是未定义的。 这是我的server.jsconfiguration。 var express = require('express'); var mysql = require('mysql'); var cors = require('cors'); var bodyParser = require('body-parser'); var wrench = require("wrench"); var fs = require('fs'); var path = require("path"); var mkdirp = require('mkdirp'); var walk = require('walk'); var fse = require('fs-extra'); var multipart = require('connect-multiparty'); var multipartMiddleware = multipart(); var crypto = […]

Node.js错误:太多参数上传批量数据时出错

我有一个任务,通过csv文件批量上传用户数据。 我正在使用nodejs和express框架。 当我提交60到70行的csv文件它工作正常,但是当它超过70行时,开始给服务器错误太多的参数。 经过一番研究,我认为它可能是parsing器大小的问题,所以我尝试了这个博客 ,但它没有工作的错误仍然是一样的。 这里是我的身体parsing器的代码: var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); app.use(cookieParser()); app.use(bodyParser({limit: '50mb'})); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({ extended: false })); 错误信息: 2016-04-19T10:29:45.299Z – error: [req#d3a1fa1a-278e-496e-9cb1-b3a944e3d1c8/app] [App] Error: too many parameters Error: too many parameters at queryparse (d:\Git\gap-vm 13416\node_modules\body-parser\lib\types\urlencoded.js:119:17) at parse (d:\Git\gap-vm 13416\node_modules\body-parser\lib\types\urlencoded.js:64:9) at d:\Git\gap-vm 13416\node_modules\body-parser\lib\read.js:91:18 at IncomingMessage.onEnd (d:\Git\gap-vm 13416\node_modules\raw-body\index.js:136:7) at IncomingMessage.g (events.js:273:16) […]

ExpressJS错误:Body-Parser已弃用

问题我正在尝试构build一个Node.js API,在编写我的server.js文件时,我的代码如下所示: var express = require('express'); var express = require('body-parser'); var app = express(); app.use(bodyParser.json()); app.get('/api/posts', function(req,res) { res.json([ { username: 'oscar', body: 'hello' } ]) }) app.listen(3000, function() { console.log('Server Listening on', 3000) }) 但是,在命令提示符下,我得到这个错误: body-parser deprecated bodyParser: use individual json.urlencoded middlewares server.js:4:11 body-parser deprecated undefined extended: provide extended option node_modules\body-parser\index.js:85:29 我试图改变这个: app.use(bodyParser.urlencoded({ extended: […]

Express.js POST req.body为空

所以我在我使用node.js运行的server.js文件中有以下代码。 我使用express来处理HTTP请求。 app.post('/api/destinations', function (req, res) { var new_destination = req.body; console.log(req.body); console.log(req.headers); db.Destination.create(new_destination, function(err, destination){ if (err){ res.send("Error: "+err); } res.json(destination); }); }); 我在terminal上运行以下内容: curl -XPOST -H "Content-Type: application/json" -d '{"location": "New York","haveBeen": true,"rating": 4}' http://localhost:3000/api/destinations 运行后,server.js输出如下内容。 {} { host: 'localhost:3000', 'user-agent': 'curl/7.43.0', accept: '*/*', 'content-type': 'application/json', 'content-length': '53' } 所以req.body是{} 。 我读了其他堆栈溢出post有关类似的问题,其中内容types是不正确的,因为身体分析器。 但这不是问题,因为内容types是application […]

使用http-proxy和body-parser与express时,节点挂起POST请求

我也已经把这个发布到http-proxy的相关问题上 。 我正在使用http-proxy与express所以我可以截取我的客户端和api之间的请求,以添加一些cookie进行身份validation。 为了validation客户端必须发送带有x-www-form-urlencoded作为内容types的POST请求。 所以我使用body-parser中间件来parsing请求体,这样我就可以在请求中插入数据了。 http-proxy在使用body-parser遇到了一个问题,因为它将bodyparsing为一个stream,并且从不closures它,所以proxy永远不会完成请求。 在http-proxy的例子中有一个解决scheme,在我尝试使用的parsing之后,“重新stream”请求。 我也试图在同样的问题中使用connect-restreamer解决scheme,但没有运气。 我的代码看起来像这样 var express = require('express'), bodyParser = require('body-parser'), httpProxy = require('http-proxy'); var proxy = httpProxy.createProxyServer({changeOrigin: true}); var restreamer = function (){ return function (req, res, next) { //restreame req.removeAllListeners('data') req.removeAllListeners('end') next() process.nextTick(function () { if(req.body) { req.emit('data', req.body) //error gets thrown here } req.emit('end') }) } } […]

Node.js(使用express&bodyParser):无法从post请求中获取表单数据

我似乎无法恢复发送到我的Node.js服务器的发布请求的表单数据。 我已经把服务器代码和post请求(使用postman in chrome发送)放在下面: 发布请求 POST /api/login HTTP/1.1 Host: localhost:8080 Cache-Control: no-cache —-WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="userName" jem —-WebKitFormBoundaryE19zNvXGzXaLvS5C NodeJS服务器代码 var express = require('express'); // call express var app = express(); // define our app using express var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.use(bodyParser()); app.all('/*', function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Content-Type,accept,access_token,X-Requested-With'); […]

为什么调用node.js body-parser失败,尽pipe我已经安装了它?

我开始学习node.js并试图找出如何获取POST请求的内容。 我试图按照这篇文章中的说明。 到目前为止,我已经成功安装了node.js(在Windows 7上)并且expression了,并且能够获得我的第一个脚本的工作。 然而,当我尝试使用身体分析器时,我的问题来了。 我已经安装了它,它似乎在那里 这里是node.js脚本的代码 var express = require('express'); var bodyParser = require('body-parser'); var app = express(); app.use( bodyParser.json() ); // to support JSON-encoded bodies app.use(express.json()); // to support JSON-encoded bodies app.get('/', function(req, res) { res.setHeader('Content-Type', 'text/plain'); res.end('Vous êtes à l\'accueil'); }); app.get('/user/:usernum', function(req, res) { res.setHeader('Content-Type', 'text/plain'); res.end('You are on page USER […]