mik*_*ana 6 connect node.js express
我正在使用Express 3,并希望处理文本/普通 POST.
Express 3 现在使用connect的bodyParser(我认为旧的Express代码已经移动到连接).bodyParser的文档提供了有关如何使其支持其他文件类型的一些详细信息.我发现了一篇关于如何在旧版Express中处理text/plain的优秀博客文章.
我应该明确要求连接(并且让节点需要缓存修改后的版本)吗?或者是通过Express在某处连接暴露?
connect.bodyParser没有'parse'键.
如何使Express(通过连接)处理文本/普通POST?
小智 22
https://gist.github.com/3750227
app.use(function(req, res, next){
if (req.is('text/*')) {
req.text = '';
req.setEncoding('utf8');
req.on('data', function(chunk){ req.text += chunk });
req.on('end', next);
} else {
next();
}
});
Run Code Online (Sandbox Code Playgroud)
将文本添加为req.text
ooz*_*zal 18
将bodyParser作为依赖项,将其添加到您的app.js文件中.
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.text());
Run Code Online (Sandbox Code Playgroud)
快乐的Noding.
在 express.js "^4.16 ..." 中,以下代码对我来说很好用:
// parse an HTML body as a string
app.use(bodyParser.text({ type: 'text/*' }))
Run Code Online (Sandbox Code Playgroud)
代码的扩展部分如下:
// parse an HTML body as a string
app.use(bodyParser.text({ type: 'text/*' }))
// Enable CORS for ExpressJS
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS')
res.header('Access-Control-Allow-Credentials', true)
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Methods, Credentials')
next()
})
// Api url
app.post('/api/myApi', (req, res) => {
const bodyJson = JSON.parse(req.body)
// do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8081 次 |
| 最近记录: |