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

标签 javascript reactjs firebase

我有 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/

相关文章:

javascript - 尽管使用扩展运算符进行状态复制,但 Redux 状态发生突变

database - 从 firebase 数据库检索数据并快​​速操作

ios - 使用适用于 iOS 的 FirebaseUI 访问数据库

javascript - JQuery .toggle ('Slide' ) 没有显示我的内容

javascript - 难以理解 if 语句代码

javascript - 获取 "each"内的内部标签元素

javascript - 两个 Controller 相同的应用程序,出现错误未注册 Controller

javascript - Chart JS - 更改条形图中最后一个元素的颜色

reactjs - 当服务器在React js中关闭时处理错误(TypeError无法提取)

java - Android - Firebase OrderByChild 使应用程序崩溃