gpt4 book ai didi

javascript - CORS 问题 - 从源 *** 访问 *** 已被 CORS 策略 : No 'Access-Control-Allow-Origin' - PUT request to Firebase 阻止

转载 作者:行者123 更新时间:2023-12-05 03:43:13 24 4
gpt4 key购买 nike

我有 CORS 问题,我正在发送更新数据的放置请求 - 使用 React 发布到 Firebase:

const submitHandler = e => {
e.preventDefault();
const err = validate();
if(err === false) {
setFormData(formData)
const requestOptions = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
title: title,
url: url,
author: author,
description: description})
};
fetch(`https://blog-d8b04-default-rtdb.europe-west1.firebasedatabase.app/posts/${postName}`, requestOptions)
.then(response => {response.json(); console.log(response)})
.then(data => console.log(data));
setFormData(initialState);
}
}

我在控制台中有这个通知错误

Access to fetch at 'https://blog-d8b04-default-rtdb.europe-west1.firebasedatabase.app/posts/-MX1-Df4t59Y3DnyWUzB' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
EditPost.js:58 PUT https://blog-d8b04-default-rtdb.europe-west1.firebasedatabase.app/posts/-MX1-Df4t59Y3DnyWUzB net::ERR_FAILED

通过发布请求 - 添加新帖子一切正常。有人解决这个问题吗?

最佳答案

如果您通过 HTTPS 访问您的数据库,您需要通过将 .json 附加到您的数据库 URL 来访问数据的 JSON 版本,如下所示:

fetch(`https://blog-d8b04-default-rtdb.europe-west1.firebasedatabase.app/posts/${postName}.json`, requestOptions)
.then(response => {response.json(); console.log(response)})
.then(data => console.log(data));

您还应该更新您的数据库规则,因为您的数据库是全局可读可写的。

关于javascript - CORS 问题 - 从源 *** 访问 *** 已被 CORS 策略 : No 'Access-Control-Allow-Origin' - PUT request to Firebase 阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66866759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com