javascript - 写入 Firestore 数据库会导致 Firestore net::ERR_BLOCKED_BY_CLIENT 错误

标签 javascript reactjs google-cloud-firestore

我正在尝试写入我的 Firestore 数据库,但收到 net::ERR_BLOCKED_BY_CLIENT。我让用户保存表单中的信息并将其写入数据库。

这是请求:

// react app

  const referenceDescriptionTextArea = useRef();
  const proposalsCollectionReference = collection(db, "proposals");

  const handleProposalSubmit = async (event) => {
    event.preventDefault();

    var data = {
      author: getCurrentUser().uid,
      timestamp: Timestamp.now(),
      tokenid: tokenid,
      type: "bio",
      description: referenceDescriptionTextArea.current.value,
    };

    addDoc(proposalsCollectionReference, data).then(
      (docRef) => {
        console.log(docRef.id); //saf89hnasHJADH9
        closeModal();
      },
      (err) => {
        console.log(err);
      }
    );
  };

尝试提交提案后控制台出错:

channelrequest.js:1086          POST https://firestore.googleapis.com/google.firestore.v1.Firestore/Write/channel?VER=8&database=projects%2FREDACTED%2Fdatabases%2F(default)&gsessionid=sdaf7uOt-NfCFKX32b-Mw3sJBli_ssdsdfkaNw&SID=Q-mrJ98YFSsadflZRPA&RID=20557&TYPE=terminate&zx=pyjwqxvmw7j9 net::ERR_BLOCKED_BY_CLIENT

我尝试过的一些事情如下:

  1. 仔细检查 Firestore 规则以确保其有值(value)。在这种情况下,我只希望经过身份验证的用户像这样写入文档。错误仍然存​​在。
    match /proposals/{proposal} {
        allow read, write: if request.auth != null;
    }
  • 我确信这是一个 Firestore 规则,因此我更改了 Firestore 规则以允许任何人对其进行写入(在我的本地部署上)。错误仍然存​​在。
  •     match /proposals/{proposal} {
            allow read, write: if true; // on local deployment but not working
        }
    
  • 一些用户表示此错误是由广告拦截程序造成的。为了检查这一点,我打开了一个没有扩展程序的新 Chrome 实例,但得到了相同的结果。我尝试了其他浏览器并遇到了类似的问题。错误仍然存​​在。
  • 最佳答案

    我发现这是Brave上的Brave Shield。我做了更多研究,这就是我收集到的内容。

    • Edge、Chrome 和 Firefox:默认情况下我使用 Chrome。 Edge 和 Firefox 等其他浏览器通常会提示并自动导入您的设置(这包括书签和扩展程序,并且仅在安装后完成一次)。删除 uBlockOrigin 或 HTTPS Everywehere 等扩展。一旦它们被卸载,我就可以毫无错误地发出请求

    • Brave 浏览器:默认情况下,它会有一个名为 BraveShield 的广告拦截器。单击右上角的图标>禁用。错误现在应该消失了。

    enter image description here

    关于javascript - 写入 Firestore 数据库会导致 Firestore net::ERR_BLOCKED_BY_CLIENT 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73922740/

    相关文章:

    javascript - React Navigation header onPress - this.setState 不是一个函数

    javascript - 如何根据条件为 JSX 中的键赋予变量的值

    android - 如何在 FirestoreRecyclerAdapter 中添加 2 个不同的查询?

    javascript - 尝试让 jQuery 在单击时更改不同的 img src

    javascript - 根据数组的长度为 FormData 中的 .append 创建一个函数。

    android - 如何使用 Cloud Firestore 中的文档 ID 执行集合组查询

    firebase - Firebase Functions 写入 Cloud Firestore 数据库时是否会计算写入次数?

    javascript - 如何使用正则表达式和条件替换文本?

    javascript - 尝试访问指令中的数据时 AngularJs 崩溃

    javascript - 对深层嵌套的高阶函数应用递归