簡體   English   中英

使用`requestjs`從Node Js調用AWS lambda端點時總是出現502錯誤

[英]Always get 502 error when calling AWS lambda endpoint from Node Js using `requestjs`

嘗試使用 Nodejs 請求包在我們的 AWS 無服務器 api 中發布數據,但總是收到 502 錯誤,並且可以從前端應用程序(React 或 Jquery)發布數據。


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)
      }
    }
  )```

如果您能夠使用 react 和 Jquery 發布數據,那么您可能沒有正確發出發布請求。嘗試使用此代碼進行發布請求:

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 ,它使代碼更具可讀性並具有內置的axios支持:

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 日志說了什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM