Node JS 中如何获取 POST 请求数据?

问题描述 投票:0回答:1

我使用 DigitalOcean 有以下无服务器函数(类似于 Lambda):

function process(params) {
    //access URL parameters like params.t, params.var, etc
}

exports.main = process;

问题是我只知道如何将数据作为

GET
请求传递,我该如何将其作为
POST
来完成?

如何检索

POST
数据?

如果我发送

POST
请求,我会收到以下错误:

Response is not valid 'message/http

因为

process()
函数不知道如何处理POST数据。

DigitalOcean 是这样说的:

function main(args) { 
   switch (args.__ow_method) {
      case 'GET': ...
      case 'POST': ...
   }
}

但这对

GET
POST
都不起作用,因为
args
仅包含 URL 参数(
._ow_method
甚至不存在)。

如何在 Node 中获取

POST
数据,而不仅仅是 GET

更新 - 只是通过

cURL
发出 POST 请求来解决 -
params
参数只是获取值

javascript node.js digital-ocean serverless
1个回答
0
投票

我在 DO 函数中遇到了同样的

Response is not valid 'message/http'
错误,尽管是在 python 运行时。分享以防帮助他人。

我的函数在从仪表板触发时有效,但不能通过浏览器或curl触发。缺乏调试工具或日志并没有帮助,仪表板和curl/浏览器之间的行为不一致也没有帮助。

我的错误是没有返回包含 DO 所需组件的字典(请参阅返回部分),这应该是:

{ "body": <required>, # This is where your response goes! # Can be dict (for JSON response) or text "statusCode": <optional>, # Http status code, default=200 "headers": <optional> # Dict of additional headers }
而我只是将返回值放在字典的顶层,而不是放在

body

下。

© www.soinside.com 2019 - 2024. All rights reserved.