после запроса тело облачной функции firebase - PullRequest
0 голосов
/ 19 января 2019

Я делаю http-запрос из угловой формы, подобной этой:

  this.http.post(this.endPoint, formData, { responseType: 'text' }).subscribe(
    res => {
      console.log(res);
    }
  )

И у меня есть простая облачная функция:

const functions = require('firebase-functions');
const cors = require('cors')({ origin: true });

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

    cors(req, res, () => {
        const data = req.body;
        res.send(`Hello from Firebase! ${data}`);
    });

})

Однако req.body не работаети я получаю этот ответ:

Привет из Firebase![объект Объект]

Есть ли идеи, почему это происходит?

Ответы [ 3 ]

0 голосов
/ 19 января 2019

Ответ Фрэнка , вероятно, ближе к тому, что вы ищете.

В качестве альтернативы, если вы хотите просто напечатать определенные свойства:

Вы используете шаблонный литерал для вставки req.body в вашу строку. Поскольку req.body (или данные в данном случае) - это объект, вам придется извлечь из него те значения, которые вы хотите отобразить как req.body.prop.

Этот пример из быстрого запуска Firebase показывает удаление свойства из тела запроса.

0 голосов
/ 19 января 2019

Я обнаружил проблему: я добавил 'Content-Type': 'multipart/form-data' в заголовки, когда отправляю запрос из моей угловой формы.

0 голосов
/ 19 января 2019

Если вы пытаетесь напечатать значение req.body, вам сначала нужно преобразовать его из объекта JavaScript в строку:

res.send(`Hello from Firebase! ${JSON.stringify(data)}`);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...