【发布时间】: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