HTTP POST Firebase Cloud Функция «Access-Control-Allow-Origin» ошибка - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь сделать HTTP-запрос POST, но получаю эту ошибку (все нормально, когда я использую ту же функцию в своем проекте angularjs, используя __$http__). Я искал похожие вопросы здесь, но мне кажется, что мне не хватает базового пункта в моем коде запроса JS.

Доступ к XMLHttpRequest по адресу 'https://us -central1-MYAPP.cloudfunctions.net / app / MYURL ' от источника заблокирован политикой CORS: заголовок «Access-Control-Allow-Origin» отсутствует. присутствует на запрашиваемом ресурсе.

Сторона Firebase:

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

app.post('/MYURL', (req, res) => {

   // my function goes here
   var clientKey = req.body.clientKey;
   return res.status(200).send(clientKey);

});

exports.app = functions.https.onRequest(app);

Код моего запроса:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
  if (this.readyState == 4 && this.status == 200) {
    console.log(this.responseText);
  }
};
xhttp.open("POST", "https://us-central1-MYAPP.cloudfunctions.net/app/MYURL", true);
xhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhttp.setRequestHeader("Access-Control-Allow-Origin", "*");
xhttp.send("clientKey=XXXXX");

1 Ответ

0 голосов
/ 15 ноября 2018

Так как прошло несколько дней после моего вопроса, я хочу поделиться результатом здесь. Я связался с Firebase Support и получил ответ, что все должно быть в порядке с моим кодом. Я знаю, что это смешно, но это работает без ошибок CORS прямо сейчас. Дело в том, что я действительно ничего не изменил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...