Форма POST для FormSubmit с HttpClient и Angular - PullRequest
0 голосов
/ 05 апреля 2020

FormSubmit супер отлично подходит для простой и легкой отправки формы. Я использую его в своем приложении Angular и пытаюсь отправить форму с помощью HttpClient, но я просто не могу понять, как это правильно. Я предполагаю, что мой POST URL неверен, но я затрудняюсь понять, каков правильный метод.

Вот моя функция onSubmit:

  onSubmit() {
    this.submitted = true;
    if (this.contactForm.invalid) {
      return;
    } else {
        this.formSubmit.sendForm(JSON.stringify(this.contactForm.value));
    }
  }

Здесь услуга HttpClient:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
export class FormsubmitService {
  constructor(
    public httpClient: HttpClient
  ) { }

  sendForm(formData) {
    console.log('Form Data:', formData);
    this.httpClient.post('https://formsubmit.io/send/<TOKEN HERE>', formData)
      .subscribe(
        (response) => console.log("Response:", response), (error) => console.log("Error:", error));
  }
}

Ответ об ошибке:

enter image description here

enter image description here

1 Ответ

1 голос
/ 05 апреля 2020

Добрый день! Вы можете попробовать это?

onSubmit() {
  this.submitted = true;
  if (this.contactForm.valid) {
    const formData = new FormData();
    const { value } = this.contactForm;
    for (const key in value) {
      formData.append(key, value[key]);
    }

    this.formSubmit.sendForm(formData);
  }
}
...