Home > Software engineering >  POST Request does not show any value in node JS
POST Request does not show any value in node JS

Time:05-19

I'm trying to send a post request to my node js server through google app script, but the received data is {}.

I tried sending a Post through zapier and postman, zapier will work if I set the payload type to "form" and postman will work if I set the body as x-www-form-urlencoded.

Any idea to make it work on google app script ?

enter image description here

CodePudding user response:

In your script, how about the following modification?

From:

var requestOptions = {
  "method" : "post",
  "contentType" : "application/x-www-form-urlencoded",
  "body" : payload
  //"body" : payload,

}

To:

var requestOptions = {
  "method": "post",
  "payload": payload
};
  • Property of body is not existing in UrlFetchApp.
  • application/x-www-form-urlencoded is the default content type.
  • When the request of this modification is run, payload is requested as the form data.

Note:

  • As the additional information, in your server-side of Node.js, if app.use(bodyParser.json()); is used, it is required to request as application/json as follows. Please be careful about this.

      var requestOptions = {
        "method": "post",
        "payload": JSON.stringify(payload),
        "contentType": "application/json"
      };
    

Reference:

CodePudding user response:

Have you loaded json and urlencoded in your node server?

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