【问题标题】:IONIC 5 empty FormDataIONIC 5 空 FormData
【发布时间】:2020-05-29 02:36:07
【问题描述】:

我正在执行用户配置文件,但是在创建用于发送的 FormData 时,它生成为空,即使所有其他字段都有值。下面是代码 cadastro.ts

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';

import { AlertController, ActionSheetController } from '@ionic/angular';
import { PictureSourceType, Camera, CameraOptions } from '@ionic-native/camera/ngx';


import { CadastroService } from 'src/app/services/cadastro.service';


@Component({
  selector: 'app-cadastro',
  templateUrl: './cadastro.page.html',
  styleUrls: ['./cadastro.page.scss'],
})
export class CadastroPage implements OnInit {
  public registerForm: FormGroup

  constructor(
    private cadastroService: CadastroService,
    private router: Router,
    private formBuilder: FormBuilder,
    private alertController: AlertController,
    private ActionSheetController: ActionSheetController,
    private camera: Camera,
  ) { }

  ngOnInit() {

    this.registerForm = this.formBuilder.group({
      foto: [''],
      nome: ['', Validators.required],
      email: ['', [Validators.required, Validators.email]],
      cpf: ['', Validators.required],
      telefone: ['', Validators.required],
      password: ['', Validators.required],
      conf_pass: ['', Validators.required]
    })

  }


  cadastrar() {

    console.log(this.registerForm.get('nome').value)

    const formData = new FormData();
    formData.append('nome', this.registerForm.get('nome').value);
    formData.append('email', this.registerForm.get('email').value);
    formData.append('cpf', this.registerForm.get('cpf').value);
    formData.append('telefone', this.registerForm.get('telefone').value);
    formData.append('password', this.registerForm.get('password').value);
    formData.append('file', 'testeFile');

    console.log(formData);

    this.cadastroService.cadastrar(formData).subscribe((res: any) => {
      console.log(res);
    }, error => {
      console.log(error)
    })

  }


}

控制台日志的返回是一个 FormData {}。但是,如果我在任何 registerForm 字段中提供控制台日志,则该值将正确返回。有谁知道这个请求的构建过程中可能会发生什么?

我的 Laravel 后端是请求的 logFile:

[2020-05-29 03:17:25] local.ALERT: array (
  'data' => 
  array (
  ),
)  

【问题讨论】:

  • 而不是控制台中的formData,您可以尝试单个属性吗?例如console.log(formData.get('email');?

标签: angular typescript ionic-framework ionic4 form-data


【解决方案1】:

表单数据是有效的。但是使用 console.log(formData) 函数时看不到它的数据。 相反,您可以看到这样的数据。

console.log(formData.get('nome'));
console.log(formData.get('email'));

【讨论】:

  • 在后端(laravel)中,即日志文件:php [2020-05-29 03:17:25] local.ALERT: array ( 'data' => array ( ), )
猜你喜欢
  • 2017-12-06
  • 2018-04-06
  • 1970-01-01
  • 2020-06-29
  • 1970-01-01
  • 2020-11-16
  • 2017-05-14
  • 2017-02-09
  • 1970-01-01
相关资源
最近更新 更多