【问题标题】:How to get data from the client to the server (without url parameters) in Node.js?如何在 Node.js 中从客户端获取数据到服务器(没有 url 参数)?
【发布时间】:2017-08-10 09:02:28
【问题描述】:

除了通过 url 参数传递数据,如何从客户端 index.html 中的表单获取数据到 Node.js 中的 server.js 文件?

我知道如何从服务器获取数据到客户端,但是不使用url参数,我不知道如何以其他方式(客户端到服务器)。

【问题讨论】:

  • POST 或 AJAX。有什么问题吗,或者您只是从未听说过这些?
  • 看到这个问题:stackoverflow.com/questions/6665510/… 你基本上必须使用 JavaScript 制作一个 XMLHttpRequest。单独使用 HTML 表单并不能解决问题
  • @Neutrosider — “单独使用 HTML 表单不会解决问题” — 是的。 这个问题不是要求纯文本请求正文。
  • @Quentin 正如链接问题中的答案所说:“表单可以发送 application/x-www-form-urlencoded 或 multipart/form-data 数据。”。但是你想用矿类型text/plain发送数据,所以你应该做一个XHR
  • @Neutrosider — 我不想发送文本/纯数据。 这个问题不要求文本/纯数据。

标签: javascript node.js http npm server


【解决方案1】:

将数据传递到 HTTP 服务器的常用方法有以下三种:

  1. 网址
  2. 请求正文(例如,在 POST 或 PUT 请求中)
  3. 自定义 HTTP 标头

访问它们的具体方式取决于您用于构建 HTTP 服务器的库。

例如要使用 Express.JS 读取 application/x-www-form-urlencoded HTTP 请求正文(即您从 <form method="POST"> 获得的内容),您可以使用以下内容:

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/', function (req, res) {
  console.log(req.body.username); // For <input name=username>
  res.send('POST request to homepage');
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-17
    • 2020-08-16
    • 2015-09-29
    • 2015-09-30
    • 2016-05-21
    • 2023-03-08
    • 2020-08-11
    • 1970-01-01
    相关资源
    最近更新 更多