Я пытаюсь сделать 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");