Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mendayakan CORS untuk Fungsi Awan Firebase?

Bagaimana untuk Mendayakan CORS untuk Fungsi Awan Firebase?

DDD
DDDasal
2024-12-03 03:33:09137semak imbas

How to Enable CORS for Firebase Cloud Functions?

Mendayakan CORS for Cloud Functions for Firebase

Apabila cuba mengakses Cloud Function for Firebase menggunakan permintaan AJAX, pengguna mungkin menghadapi " Tiada ralat 'Access-Control-Allow-Origin'". Ini berlaku kerana kekurangan konfigurasi CORS (Cross-Origin Resource Sharing). Untuk membetulkan isu ini, CORS mesti didayakan dalam fungsi.

Penyelesaian untuk Fungsi Awan v2:

Cloud Functions v2 menyediakan penyelesaian yang mudah dengan memasukkan CORS ke dalam fungsi definisi:

const { onRequest } = require("firebase-functions/v2/https");

exports.sayHello = onRequest(
  { cors: true },
  (req, res) => {
    res.status(200).send("Hello world!");
  }
);

Penyelesaian untuk Fungsi Awan v1:

Untuk Cloud Functions v1, dua contoh fungsi yang disediakan oleh pasukan Firebase menunjukkan pengendalian CORS. Sampel kedua menggunakan kaedah yang berbeza:

const cors = require("cors")({ origin: true });

exports.fn = functions.https.onRequest((req, res) => {
  cors(req, res, () => {
    // Implement the function body here using the provided req and res from CORS
  });
});

Nota Tambahan:

  • Jika fungsi mengembalikan kod ralat 500, Axios/jQuery akan mencuba semula bergantung pada konfigurasi. Tukar kod status kepada 200.
  • Pastikan URL titik akhir mempunyai skema yang dijangkakan (iaitu https://), sepadan dengan pengepala Asal dalam permintaan.

Atas ialah kandungan terperinci Bagaimana untuk Mendayakan CORS untuk Fungsi Awan Firebase?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn