Ich lerne gerade, wie man neue Cloud-Funktionen für Firebase verwendet, und das Problem ist, dass ich nicht auf die Funktion zugreifen kann, die ich über eine AJAX-Anfrage geschrieben habe. Ich erhalte den Fehler "No 'Access-Control-Allow-Origin'". Hier ist ein Beispiel für die Funktion, die ich geschrieben habe:
exports.test = functions.https.onRequest((request, response) => {
response.status(500).send({test: 'Testing functions'});
})
Die Funktion befindet sich in dieser URL: https://us-central1-fba-shipper-140ae.cloudfunctions.net/test
In den Firebase-Dokumenten wird vorgeschlagen, CORS-Middleware in die Funktion aufzunehmen. Ich habe es versucht, aber es funktioniert bei mir nicht: https://firebase.google.com/docs/functions/http-events
So habe ich es gemacht:
var cors = require('cors');
exports.test = functions.https.onRequest((request, response) => {
cors(request, response, () => {
response.status(500).send({test: 'Testing functions'});
})
})
Was mache ich falsch? Ich würde mich über jede Hilfe freuen.
AKTUALISIEREN:
Doug Stevensons Antwort half. Durch Hinzufügen von ({origin: true}) wurde das Problem behoben. Ich musste auch wechseln response.status(500)
, response.status(200)
was ich zunächst komplett verpasst hatte.