首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用`requestjs`从Node Js调用AWS lambda端点时,总是出现502错误

当使用`requestjs`从Node Js调用AWS lambda端点时,总是出现502错误
EN

Stack Overflow用户
提问于 2019-12-10 01:50:07
回答 1查看 307关注 0票数 0

尝试使用Nodejs请求包在我们的AWS无服务器api中发布数据,但总是收到502错误,并且可以从前端应用程序(React或Jquery)发布数据。

代码语言:javascript
复制
var dataToPost = {
name: 'ABC',
address: 'XYZ'
}

request(
    { method: 'POST'
    , uri: 'url here...'
    , headers: {
    'User-Agent': 'request'
  } , multipart:
      [ { 'content-type': 'application/json'
        ,  body: JSON.stringify(dataToPost)
        }
      ]
    }
  , function (error, response, body) {
      if(response.statusCode == 201){
        console.log('document saved')
      } else {
        console.log('error: '+ response.statusCode)
        console.log(body)
      }
    }
  )```
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-10 02:06:33

如果您能够使用react和Jquery来发布数据,那么您可能没有为post请求生成post请求:

代码语言:javascript
复制
const request = require('request');
var dataToPost = {
    name: 'ABC',
    address: 'XYZ'
        }
const options = {
    url: 'url goes here',
    json: true,
    body: dataToPost
};

request.post(options, (err, res, body) => {
    if (err) {
        return console.log(err);
    }
    console.log(`Status: ${res.statusCode}`);
    console.log(body);
});

或者,您也可以使用axios,它使代码更具可读性,并具有内置的promise支持:

代码语言:javascript
复制
const axios = require('axios');
var dataToPost = {
    name: 'ABC',
    address: 'XYZ'
        }
const url = 'put url here'
axios.post(url, data)
    .then((res) => {
        console.log(`Status: ${res.status}`);
        console.log('Body: ', res.data);
    }).catch((err) => {
        console.error(err);
    });

还要检查AWS Lmbada日志中写了什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59254111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档