如何处理来自服务器(节点 js)中表单的数据? [复制]

Posted

技术标签:

【中文标题】如何处理来自服务器(节点 js)中表单的数据? [复制]【英文标题】:How do I process the data from a form in a server (node js)? [duplicate] 【发布时间】:2016-09-21 00:27:38 【问题描述】:

我有一个网站,其中有一个允许用户登录的部分。 一旦用户输入了他们的详细信息并单击“登录”,我将如何从服务器请求中获取该信息以进行处理?我知道“get”方法,但是,每当我使用它时,表单中的所有值都会显示在 URL 中(包括密码)。

这是处理请求的服务器文件中的函数

function handle(request, response) 
  var url = request.url;
  url = removeQuery(url);
  url = lower(url);
  url = addIndex(url);

  var querystring = require('querystring');
  var params = querystring.parse(require('url').parse(request.url).query);

  if (! valid(url)) return fail(response, NotFound, "Invalid URL");
  if (! safe(url)) return fail(response, NotFound, "Unsafe URL");
  if (! open(url)) return fail(response, NotFound, "URL has been banned");

  var type = findType(url);
  if (type == null) return fail(response, BadType, "File type unsupported");
  if (type == "text/html") type = negotiate(request.headers.accept);
  reply(response, url, type);

基本上,我如何才能从表单中获取信息而不在 URL 中显示?

【问题讨论】:

浏览器必须发出 POST 请求。 request 应该有一个方法来获取您可以解析的请求的 body 谢谢。我将使用什么方法来获取请求的正文? 【参考方案1】:

第一站:将<form action="..." ... 更改为<form method="POST" action="..." ...,这样浏览器就会在POST 中发送表单数据。

接下来,request.body 包含您要查找的信息,虽然它不是字符串,而是流,因此有点难以查看。将 express 视为一个更高级别的工具,可以为您解析这些内容。

【讨论】:

谢谢。我会看看快递。我已经看到提到的“发布”方法,但是我不完全理解如何提取我想要的信息 查看 F12 开发人员工具(例如在浏览器中按 F12)以查看浏览器发送的请求/响应。如果您使用的是 Windows,Fiddler 也是一个很好的查看工具。

以上是关于如何处理来自服务器(节点 js)中表单的数据? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Node js - 如何处理多个异步任务

GatsbyJs - 如何处理来自 Contentful 插件的空 graphql 节点

运行 Mongoose 时执行 ajax 调用时如何处理 Node.js 发现

如何处理来自 REST 服务的大量数据

如何处理巨大的表格[关闭]

如何处理表单提交的安全问题?