Send a POST request via Axios to a Firebase Cloud Function

Jean

I try to send a simple request to a Firebase function, but I get the same error every time... Apparently, the Firebase function does not receive the data I want to transmit from the Axios request.

This is the Firebase function :

[...] // Some imports

exports.completeProfile = functions.https.onRequest((req, res) => {

  // Debug
  console.log(req); 
  console.log(req.body);
  console.log(req.method);
  console.log("Test: " + userId + ", " + profilePicture + ", " + username);

  // We recover the data
  const userId = req.body.userId; // return "undefined"
  const profilePicture = req.body.profilePicture; // return "undefined"
  const username = req.body.username; // return "undefined"

  // we're checking to see if they've been transferred
  if (!userId || !profilePicture || !username) {
    // At least one of the 3 required data is not completed
    console.error("Error level 1: missing data");
    return res.status(400).send("Error: missing data");
  }

  [...] // (We have all the data, we continue the function)

});

And here is my Axios request :

axios
    .post(
        '<FIREBASE CLOUD FUNCTION URL>',
        {
            userId: '12345667',
            profilePicture: 'https://profilepicture.com/url',
            username: 'test',
        }
    )
    .then(function(response) {
        console.log(response);
    })
    .catch(function(error) {
        console.log(error);
    });

When I run the Axios query, I always come across the "Network Error" error. Here is what console.log(error); gives : enter image description here

And here are the server logs: enter image description here

How to solve the problem? Thanks for your help.

gillyhl

change your firebase code to this

var cors = require("cors");
completeProfileFn = (req, res) => {
  // Debug
  console.log(req);
  console.log(req.body);
  console.log(req.method);
  console.log("Test: " + userId + ", " + profilePicture + ", " + username);

  // We recover the data
  const userId = req.body.userId; // return "undefined"
  const profilePicture = req.body.profilePicture; // return "undefined"
  const username = req.body.username; // return "undefined"

  // we're checking to see if they've been transferred
  if (!userId || !profilePicture || !username) {
    // At least one of the 3 required data is not completed
    console.error("Error level 1: missing data");
    return res.status(400).send("Error: missing data");
  }

  // (We have all the data, we continue the function)
};

// CORS and Cloud Functions export logic
exports.completeProfile = functions.https.onRequest((req, res) => {
  var corsFn = cors();
  corsFn(req, res, function() {
    completeProfileFn(req, res);
  });
});

It is a CORS issue.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Send SMS using POST request from Firebase Cloud Function

Firebase schedule function subpub axios POST request

How to send post request to Firebase function?

http post request firebase cloud function

How to do Axios request from Firebase Cloud Function

How to send a POST request to Firebase Cloud Messaging API in Vapor

How do you successfully send post request to firebase function

Axios async await Cloud Function returning before axios completes post request

axios post request to send form data

Cant cancel Axios post request via CancelToken

Send data to firebase cloud function

Calling a 3rd party api through a cloud function in firebase with AXIOS POST

How to send POST request by Spring cloud Feign

ESP8266 POST request to Firebase Cloud HTTP Function returns Error 500 Could not handle the request

GoLang send file via POST request

Python send multiple files via post request

NodeJS: How to Send a file via Request POST

How to send array via postman in POST request

Send button value by post request via jquery

Then is not a function on axios async/await post request

Vercel serverless function not running axios post request

Handle POST request with Firebase function

Use firebase cloud function to send GET request to non-google server

Post request with ajax for Firebase Cloud Messaging

Post Request Firebase Cloud Functions Timing Out

Firebase cloud functions make a POST request

POST message to Firebase Cloud Messaging via NodeJS

Firebase cloud function http request to another firebase cloud function

Uploading image to Firebase Storage via POST request