当我在Postman中使用表单数据时,结果是不确定的

我可以在postman插件中使用x-www-form-urlencoded选项卡得到结果,但是我想从chrome中邮递员插件的form-data选项卡中获取结果。

var express = require('express'); var app = express(); var port = process.env.PORT || 3000; var http = require('http').Server(app); var bodyParser = require('body-parser'); var Random = require("random-js")(); app.use(bodyParser()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.post('/TransactionDelay', function(req, res) { var SecurityToken=req.body.SecurityToken; var SessionID=req.body.SessionID; var TimeStamp=Date.now(); var SecretTransactionKey=req.body.SecretTransactionKey; var TransactionID=req.body.TransactionID; var BanksTransactionRefID=req.body.BanksTransactionRefID; var SessionRequestType=req.body.SessionRequestType; var StatusCode=req.body.StatusCode; var StatusDescription=req.body.StatusDescription; var tag=req.body.tag; var dataFile={"SecurityToken":SecurityToken,"SessionID":SessionID,"TimeStamp":TimeStamp, "SecretTransactionKey":SecretTransactionKey,"TransactionID":TransactionID,"BanksTransactionRefID":BanksTransactionRefID, "SessionRequestType":SessionRequestType,"StatusCode":StatusCode,"StatusDescription":StatusDescription, "Tag":tag}; res.send('TimeStamp : '+dataFile.TimeStamp+'\nTransactionID : '+dataFile.TransactionID+'\nReplyId : 12993784\nStatusCode : '+dataFile.StatusCode+'\nStatusDescription : '+dataFile.StatusDescription+'\nTags :'+dataFile.Tag); }); function checkStatusCode(){ var status=["Confirmed","Failed","Pending"]; return status[Random.integer(0,2)]; } app.listen(port); console.log('Server started! At http://localhost:' + port); 

你正在使用的代码,parsingapplication/x-www-form-urlencoded ,而发布的内容是multipart/form-data通过postman中的form-data选项卡

使用强大的https://www.npmjs.com/package/formidable

添加这个

 var formidable = require('formidable'); var util = require('util'); app.post('/TransactionDelay', function(req, res) { var form = new formidable.IncomingForm(); form.parse(req, function(err, fields, files) { res.writeHead(200, { 'content-type': 'text/plain' }); res.write('received upload:\n\n'); res.end(util.inspect({ fields: fields, files: files })); }); } 

这是用于file upload或你有很多的参数,在你的情况下,这是没有用的

总之只需使用x-www-form-urlencoded选项卡:D