Как извлечь данные из html формы для топора ios после запроса - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь отправить запрос на публикацию в мой API, используя топор ios. У меня есть форма html, где пользователь вводит электронную почту и пароль. Когда запрос отсылается, я вижу в инструментах chrome dev, что тело моего запроса пустое, поэтому я не получаю данные формы. Буду признателен за любые советы о том, как извлечь это.

Форма HTML

<code><modal name="modal-register" @opened="opened">
            <form @submit.prevent="doRegister">
                <div class="form-group">
                    <label for="email" class="block">Email</label>
                    <input type="email" id="email" name="email" class="border" ref="email">
                </div>
                <div class="form-group">
                    <label for="password" class="block">Password</label>
                    <input type="password" id="password" name="password" class="border">
                </div>
                <div class="form-group">
                    <button type="submit" @submit.prevent="doRegister">Register</button>
                </div>
            </form>
            <div class="form-group">
                <p>Already have an account? <a href="#">Login</a></p>
            </div>
            <div>
                <p v-if="success"> {{ success }}</p>
                <pre>{{ response }}

Axe ios запрос

doRegister() {
            axios({
                method: 'post',
                url: 'http://localhost:3001/wallets/signup',
                headers: {},
                data: {
                    email: this.email,
                    password: this.password
                }
            });
        }

Когда значения в блоке данных жестко закодированы, запрос работает нормально, поэтому я просто не извлекаю данные формы. У меня проблемы с поиском примеров для этого с javascript, так как большинство, кажется, использует php для запроса.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Проблема была решена с помощью

email: document.getElementById('email').value,
password: document.getElementById('password').value
0 голосов
/ 09 апреля 2020

Возможно, вам придется привязать входы к вашим данным. Поэтому добавьте v-model к входам и свяжите их с вашим предпочитаемым ключом данных. например, this.email / this.password

<code><modal name="modal-register" @opened="opened">
  <form @submit.prevent="doRegister">
    <div class="form-group">
      <label for="email" class="block">Email</label>
      <input v-model="email" type="email" id="email" name="email" class="border" ref="email">
    </div>
    <div class="form-group">
      <label for="password" class="block">Password</label>
      <input v-model="password" type="password" id="password" name="password" class="border">
    </div>
    <div class="form-group">
      <button type="submit" @submit.prevent="doRegister">Register</button>
    </div>
  </form>
  <div class="form-group">
    <p>Already have an account? <a href="#">Login</a></p>
  </div>
  <div>
    <p v-if="success"> {{ success }}</p>
    <pre>{{ response }}
...