配置 CORS 以允许来自任何来源的请求来解决之前的 CORS 问题后,我不再收到 CORS 错误,但现在发出 POST 请求时会出现 404 错误。我已经检查了多次该网址,似乎没有错误。我应该采取什么步骤来解决这个问题?
当我在本地主机上测试它时,它工作正常,但是部署到虚拟主机后,发送请求时出现错误。
try {
const response = await fetch('https://us-central1-nulligpt.cloudfunctions.net/api/hello', {
method: 'GET',
});
if (!response.ok) {
throw new Error('Network response was not ok.');
}
const text = await response.text();
document.getElementById('response').innerText = text;
} catch (error) {
console.log('Request failed', error);
}
const functions = require('firebase-functions');
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors({
origin: ['https://nulligpt.web.app', 'http://127.0.0.1:5500'],
}));
app.get('/hello', (req, res) => {
res.status(200).send('Hello World');
});
exports.api = functions.https.onRequest(app);
您的路由仅使用
app.get
: 处理 GET 请求
app.get('/hello', (req, res) => {
res.status(200).send('Hello World');
});
如果您还想处理 POST,则需要一个显式处理该问题的路由,可能使用 app.post()。 或者,如果您想在单个路由中处理所有 HTTP 动词,也许您想使用 app.all().