我正在开发一个简单的文本编辑器,它通过 Node/ExpressJS 服务器保存和加载文本文件。加载很好,但由于我无法将数据正确传输到服务器应用程序,所以保存还无法工作。
我通过 XMLHttpRequest 在 POST 请求中将数据发送到服务器,根据开发工具中的网络分析器,它工作正常,调用了“handler_save”函数,但没有收到任何参数。
我做错了什么? (这是服务器代码的片段,为演示而更改:)
express = require('express')();
function init_save_load(){
var bodyParser = require('body-parser');
express.use(bodyParser.urlencoded({ extended: true }));
express.use('/save', handler_save );
express.use('/load', handler_load );
}
...
function handler_save(req, res){
console.log(req.body); // "{name:post.txt,data:testing}"
}
最佳答案
确保您正在解析请求正文,以便它可以工作
var bodyParser = require('body-parser');
app.use(bodyParser());
bodyParser 是“Connect”的一部分,“Connect”是一组 Node.js 中间件。以下是来自 Connect 的真实文档和来源:http://www.senchalabs.org/connect/bodyParser.html
最后控制台记录 req.body 并查看其中内容
console.log(req.body)
关于javascript - ExpressJS 中的 POST 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26572943/