javascript - ExpressJS 中的 POST 参数

标签 javascript node.js post express

我正在开发一个简单的文本编辑器,它通过 Node/ExpressJS 服务器保存和加载文本文件。加载很好,但由于我无法将数据正确传输到服务器应用程序,所以保存还无法工作。

enter image description here

我通过 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/

相关文章:

javascript - 在服务器端创建 html 字符串并将其附加到客户端是否明智?

c# - asp.net中如何调用JS函数

node.js - 我正在使用 Windows 10,我似乎无法在我的终端上使用设置 nodejs 上的环境变量

javascript - req.body 不适用于快速路由器发布请求

C# HttpWebRequest POST 不发送参数

ruby-on-rails - 在 Ruby/Rails 上发布带有文件内容的 JSON

javascript - 我的剪贴板中到底有什么?它如何与网页交互?

javascript - 通过浏览器禁用调试器语句

node.js - 如何使 Firebase 数据库与 BigQuery 保持同步?

php - 如果使用来自 $_POST 的数据,SQLite UPDATE 提交空数据