Проблемы с доступом к CORS и записью данных в firebase firestore - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь использовать firestore (который для меня новый) в javascript, но я столкнулся с ошибкой CORS, и я немного застрял. Я просто хочу, чтобы мой код js отправлял данные с ввода в хранилище firebase. Но доступ CORS не позволяет мне этого делать. И никакие данные не записываются в хранилище firebase. В консоли есть только ошибки CORS. Буду рад, если мне кто-нибудь поможет с этим вопросом

<form id="contactForm" action="#" class="bg-light p-4 p-md-5 contact-form">
  <div class="form-group">
    <input type="text" id="name" class="form-control" placeholder="Your Name">
  </div>
  <div class="form-group">
    <input type="text" id="email" class="form-control" placeholder="Your Email">
  </div>
  <div class="form-group">
    <input type="text" id="subject" class="form-control" placeholder="Subject">
  </div>
  <div class="form-group">
    <textarea name="" id="message" cols="30" rows="7" class="form-control" placeholder="Message"></textarea>
  </div>
  <div class="form-group">
    <input type="submit" onclick="writeData()" value="Send Message" class="btn btn-primary py-3 px-5">
  </div>
</form>

<script src="https://www.gstatic.com/firebasejs/7.16.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.16.0/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.16.0/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.16.0/firebase-storage.js"></script>

<script>
  var firebaseConfig = {
    apiKey: "XXXXXXXXXXXXXXXXXXXXX",
    authDomain: "XXXXXXXXXXXXXXXXXXXXX",
    databaseURL: "XXXXXXXXXXXXXXXXXXXXX",
    projectId: "XXXXXXXXXXXXXXXXXXXXX",
    storageBucket: "XXXXXXXXXXXXXXXXXXXXX",
    messagingSenderId: "XXXXXXXXXXXXXXXXXXXXX",
    appId: "XXXXXXXXXXXXXXXXXXXXX",
    measurementId: "XXXXXXXXXXXXXXXXXXXXX"
  };
  firebase.initializeApp(firebaseConfig);
  // Initialize Firebase

  firebase.analytics();


  var db = firebase.firestore();

  function writeData() {
    let name = document.getElementById("name").value;
    let email = document.getElementById("email").value;
    let subject = document.getElementById("subject").value;
    let message = document.getElementById("message").value;


    db.collection("FormMessage").set({
        name: name,
        email: email,
        subject: subject,
        message: message
      })
      .then(function () {
        console.log("Document successfully written!");
      })
      .catch(function (error) {
        console.error("Error writing document: ", error);
      });

  }
</script>
...