Netlify Forms - пустое представление - Vue (Gridsome) - PullRequest
0 голосов
/ 14 апреля 2020

Я ненавижу это делать (делюсь всем кодом), но я чувствую, что у меня нет другого выбора. Последние два дня я бился головой о стену. Это одна проблема за другой. В настоящее время я так близок к тому, чтобы заставить работать Формы.

По какой-то причине пустое поле отправлено. Я не могу найти причину, это действительно трудно отладить.

<template>
          <form
          name="add-subscriber"
          id="myForm"
          method="post"
          data-netlify="true"
          data-netlify-honeypot="bot-field"
          @submit.prevent="handleFormSubmit">
            <input type="hidden" name="form-name" value="add-subscriber" />
            <input type="email" name="email" v-model="formData.userEmail">
            <button type="submit" name="button">Subscribe</button>
          </form>
</template>

<script>
import axios from "axios";

export default {
    data() {
        return {
            formData: {},
        }
    },

    methods: {
        encode(data) {  
            return Object.keys(data)
                .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`)
                .join("&");
            },

        handleFormSubmit(e) {
            const axiosConfig = {
                header: { "Content-Type": "application/x-www-form-urlencoded" }
            };

            axios.post(
                location.href, 
                this.encode({
                    'form-name': e.target.getAttribute("name"),
                    ...this.formData,
                }),
                axiosConfig
            )
            .then(data => console.log(data))
            .catch(error => console.log(error))
            .then(document.getElementById("myForm").innerHTML = `<div>Almost there! Check your inbox for a confirmation e-mail.</div>`)
        }
    }
}
</script>

Если есть что-то, что приходит на ум или бросается в вас, я был бы очень признателен за вашу помощь! Большое спасибо заранее.

PS Я использовал направляющие от Netlify и CSS -Tricks


Редактировать

Параметры моего запроса POST кажутся git:

-----------------------------171747581031589150472368446206
Content-Disposition: form-data; name="form-name"

add-subscriber
-----------------------------171747581031589150472368446206
Content-Disposition: form-data; name="userEmail"

me@rasul.com
-----------------------------171747581031589150472368446206--

Однако ответ немного странный. По какой-то причине он возвращает всю страницу:

enter image description here

...