【问题标题】:Difference between get vs post获取与发布之间的区别
【发布时间】:2020-09-14 22:09:06
【问题描述】:

我是 Node JS 的初学者。我对getpost 有点困惑。当浏览器request从服务器获取数据时,浏览器会获取还是发布。?

【问题讨论】:

  • 如果您使用的是 express 版本 >= 4.16 正文解析器是不必要的。正文解析器库与 express 捆绑在一起。
  • 也许您可以一次专注于一个问题?对于任何给定的问题,还要指出您遇到的问题或您正在尝试做的事情不起作用。例如,在您的第一个问题中,当您尝试这样做时会发生什么?你得到一个特定的错误吗?您认为这两种方法之间有什么区别,为什么您认为这可能很重要?如果您只是在寻找教程和学习资源,那么您最喜欢的搜索引擎确实是您开始的地方。

标签: javascript node.js nodes node-modules


【解决方案1】:

安装 express 并要求它之后。为什么不能直接使用

express.use(bodyParser.urlencoded({extended: true}));

因为.use()app 对象上的方法,而不是 express 对象上的方法。此外,body-parser 现在内置于 Express 中,因此您应该使用:

app.use(express.urlencoded({extended: true}));

我为什么要写

const app = express();

Express 是一个库,可让您创建和管理 Web 服务器。为此,您需要使用const app = express() 创建一个快速实例。它类似于 Express 是 class,您需要创建该类的 instance 才能使用它。从技术上讲,express 是一个工厂函数(一个你调用来创建你可以使用的实例的函数),而不是一个类,但概念是一样的。

什么是 urlencoded({extended: true}); ?你能用简单的话解释一下吗?

这将为您的应用创建中间件,该中间件知道如何解析一种特定类型的请求。 urlencoded mime 类型通常来自浏览器的表单发布请求。 urlencoded是把浏览器表单中的表单数据打包发送到Web服务器的方法。为了让您的服务器使用该表单数据,一些代码必须从该文本格式中解压缩它并将其转换为您可以使用的 Javascript。该中间件可以针对特定类型的数据执行此操作。

req.body 是什么?

首先,req 对象是有关到达您服务器的传入请求的数据。然后,.body 属性是解析来自请求的传入数据的中间件通常会在从文本或二进制形式解析数据并转换为您可以从 Javascript 使用的数据之后放置 Javascript 版本的数据。中间件完成此操作后,您的代码就可以访问req.body 中的解析数据。此外,req.body 通常是一个具有自己属性的对象,因此您可以使用诸如req.body.first 之类的属性名称访问其中一个属性(或您感兴趣的任何属性名称)。如果数据来自浏览器表单,则属性名称通常是 HTML 表单中的 name=xxx 属性。

如果可能,请推荐一个学习 NodeJS 的好资源。

在这里要求异地学习资源被认为是题外话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-07
    • 2016-12-16
    • 1970-01-01
    • 2017-12-23
    • 2022-01-18
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多