FireBase 调度功能不会保存到实时数据库

我需要一些有关 realtimeDB 问题的帮助。我正在使用 NuxtJS 存储状态并将状态分派给数据库。我的代码在保存到数据库方面工作正常。每当我想编辑它时,我都会收到这个 400 BAD Request 错误。当我手动尝试使用 Firebase 实时数据库更新信息时,也会发生同样的事情,我无法使用文本编辑行。


错误:


vendor.js:387 PUT https://xxxx.firebaseio.com/posts.json-MI-Jym0mdX5jNNP89UH.json?auth=BIGKEY 400 (Bad Request)

我的组件


<template>

  <div class="admin-post-page">

    <section class="update-form">

      <AdminPostForm :post="loadedPost" @submit="onSubmitted" />

    </section>

  </div>

</template>


<script>

import AdminPostForm from "@/components/Admin/AdminPostForm";


export default {

  layout: "admin",

  middleware: ['check-auth', 'auth'],

  components: {

    AdminPostForm

  },

  asyncData(context) {

    return context.app.$axios

      .$get(

        process.env.baseUrl + "/posts/" +

          context.params.postId +

          ".json"

      )

      .then(data => {

        return {

          loadedPost: { ...data, id: context.params.postId }

        };

      })

      .catch(e => context.error());

  },

  methods: {

    onSubmitted(editedPost) {

      this.$store.dispatch("editPost", editedPost).then(() => {

        this.$router.push("/admin");

      });

    }

  }

};

</script>

来自商店的方法是:


 editPost(vuexContext, editedPost) {

        return this.$axios

          .$put(

            "https://XXXX.com/posts.json" +

              editedPost.id +

              ".json?auth=" +

              vuexContext.state.token,

            editedPost

          )

          .then(res => {

            vuexContext.commit("editPost", editedPost);

          

          })

          .catch(e => console.log(e));

      }

我的规则是:


{

   "rules": {

       ".read": true,

       ".write": true

     }

 }

如果您能帮助我提供有关为什么不允许我的信息,那将欠您很多!


谢谢你!


慕容森
浏览 107回答 1
1回答

临摹微笑

您的 URL 包含两个.json扩展名,这些扩展名不起作用。您应该只.json在您尝试编写/更新的 JSON 的完整路径之后添加:this.$axios&nbsp; &nbsp; &nbsp; .$put(&nbsp; &nbsp; &nbsp; &nbsp; "https://XXXX.com/posts/" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; editedPost.id +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ".json?auth=" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vuexContext.state.token,&nbsp; &nbsp; &nbsp; &nbsp; editedPost&nbsp; &nbsp; &nbsp; )
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript