簡體   English   中英

FireBase 調度功能不會保存到實時數據庫

[英]FireBase dispatch function doesn't save to realtime DB

我需要一些有關 realtimeDB 問題的幫助。我使用 NuxtJS 來存儲狀態並將狀態分派到 DB。 我的代碼在保存到數據庫方面工作正常。 每當我想編輯它時,我都會收到這個 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>

store的方法是:

 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
     }
 }

如果你能幫助我了解為什么我不被允許,我會欠你很多!

謝謝!

您的 URL 包含兩個.json擴展名,這將不起作用。 您應該只在您嘗試寫入/更新的 JSON 的完整路徑之后添加.json

this.$axios
      .$put(
        "https://XXXX.com/posts/" +
          editedPost.id +
          ".json?auth=" +
          vuexContext.state.token,
        editedPost
      )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM