如何处理服务器(节点js)中的表单中的数据?

我有一个网站,有一个部分,允许用户login。一旦用户input了他们的详细信息,并点击“login”,我将如何从服务器请求获取信息进行处理? 我知道“获取”方法,但是,每当我使用这个时,表单中的所有值都显示在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中?

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

接下来, request.body提供了您正在查找的信息,虽然它不是一个string,它是一个stream,所以看起来有点难。 看看express是一个更高级的工具,会为你parsing这些东西。