Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么提交表单时我的FormData为空?_Javascript_Angular_Typescript_Forms_Ionic Framework - Fatal编程技术网

Javascript 为什么提交表单时我的FormData为空?

Javascript 为什么提交表单时我的FormData为空?,javascript,angular,typescript,forms,ionic-framework,Javascript,Angular,Typescript,Forms,Ionic Framework,My formData使用被动表单的输入:categoryForm。我必须这样做才能上传我的数据。但是当我提交我的formData和console.log时,我得到的只是:formData{},所以是一个空表单。但是我不知道为什么,因为我用this.categoryForm.get('name').value 我的反应式表单实际上正在接收数据,而表单拥有所有数据,所以问题是formData没有获得数据 html: 0" (单击)=“APIsmit()” expand=“block” colo

My formData使用被动表单的输入:
categoryForm
。我必须这样做才能上传我的数据。但是当我提交我的formData和console.log时,我得到的只是:
formData{}
,所以是一个空表单。但是我不知道为什么,因为我用
this.categoryForm.get('name').value
我的反应式表单实际上正在接收数据,而表单拥有所有数据,所以问题是formData没有获得数据

html:


0" 
(单击)=“APIsmit()”
expand=“block”
color=“次要”
fill=“固体”
>职位
ts:

ngOnInit(){
this.storage.get('image_data')。然后((imageFile)=>{
console.log(图像文件)
this.categoryForm.patchValue({
'image':this.storage.get('image\u data')
});
this.storage.get('when')。然后((whenData)=>{
this.categoryForm.patchValue({
'when':this.storage.get('when')
});
});
});
this.categoryForm=新表单组({
“锁定”:新窗体控件(true),
“类别”:新FormControl(“”,Validators.compose)([
验证器。最大长度(25),
验证器。最小长度(1),
需要验证器
])),
“图像”:新FormControl(null),
“何时”:新FormControl(null),
});
}
APISmit(){
const formData=new formData();
append('lock',this.categoryForm.get('lock').value);
formData.append('category',this.categoryForm.get('category').value);
formData.append('image',this.categoryForm.get('image').value);
formData.append('when',this.categoryForm.get('when').value);
console.log(formData);
this.http.post(`this.url}`,formData,httpOptions)。订阅(
(res)=>console.log(res),
(err)=>console.log(err)
);
}

为什么不使用categoryForm本身来获取值,如下所示:

const value = this.categoryForm.value

因此,我应该将整个表单信息附加到一个
formData.append()
中,就像这样:
formData.append('allData',this.categoryForm.value);
?您的post请求是否需要formData类型的数据?我有字符串、文件、数字和布尔值。问题是我尝试使用普通表单,但在上载文件时遇到问题。因此,如果formData效果更好,我想尝试使用formData。append('allData',this.categoryForm.value)approach表单仍然是空的您是想在表单中获取值,还是想填充表单?您打算什么时候开始在帖子中包含足够的信息,以便有人可以帮助您?过去几天,您在各种表单中发布了相同的代码,您一次也没有给出答案。为什么有人投了赞成票这是我无法理解的。@R.Richards好的,对不起,你是对的,我为同一个问题挣扎了好几天,我尝试了很多东西,但都没有效果。对不起,当我的问题不好的时候,我认为很多代码会起阻吓作用。我添加了我的模板和其他相关的打字脚本。
     ngOnInit() {

  this.storage.get('image_data').then((imageFile) => {
      console.log(imageFile)
      this.categoryForm.patchValue({
        'image': this.storage.get('image_data')
      });

      this.storage.get('when').then((whenData) => {
        this.categoryForm.patchValue({
          'when': this.storage.get('when')
        });
      });
    });

        this.categoryForm = new FormGroup({

          'lock': new FormControl(true),


          'category': new FormControl('', Validators.compose([
            Validators.maxLength(25),
            Validators.minLength(1),
            Validators.required
          ])),

          'image': new FormControl(null),
          'when': new FormControl(null),
        });

    }

    apiSubmit() {
      const formData = new FormData();
      formData.append('lock', this.categoryForm.get('lock').value);
      formData.append('category', this.categoryForm.get('category').value);
      formData.append('image', this.categoryForm.get('image').value);
      formData.append('when', this.categoryForm.get('when').value);
      console.log(formData);

      this.http.post<any>(`{this.url}`, formData, httpOptions).subscribe(
        (res) => console.log(res),
        (err) => console.log(err)
      );
    }
const value = this.categoryForm.value