首页 > 解决方案 > 如何使用电容器中的 ionic-native-http 在 Post 请求中传递表单数据?

问题描述

我使用了验证表单来获取用户的输入,并且我有一个提交按钮,在该按钮上调用了 submit() 函数。

insertuserdata() 是调用 api 的 service.ts 文件中的一个函数。我在 api 中传递表单数据。文件(例如 pdf、doc、docx 等)也可以作为多部分表单数据传递给 api。

但我正在使用 Ionic-Native-Http 使用电容器传递多部分表单数据。

我收到状态为 415 的错误。请帮助解决这个问题。

submit()
  {
    this.isSubmitted = true;
    if (!this.ionicForm.valid) {
      console.log('Please provide all the required values!')
      return false;
    } else {
      console.log(this.ionicForm.value)
    }

    console.log("this is deptid", this.deptid)
    console.log("this is description", this.ionicForm.controls["description"].value)
    console.log("this is cid", this.ionicForm.controls["subquery"].value)
    console.log("this is location", this.ionicForm.controls["location"].value)
    console.log("query",this.ionicForm.controls["query"].value)


    console.log("Insert Form Data")
    const formData = new FormData();
    formData.append('postedby', this.employeeId);
    formData.append('description', this.ionicForm.controls["description"].value);
    formData.append('location', this.ionicForm.controls["location"].value);
    formData.append('deptid', this.deptid);
    formData.append('cid', this.ionicForm.controls["subquery"].value);
     formData.append('file', this.ionicForm.get('profile').value);


     console.log("Insert Api call")

     this.c2s.insertuserdata(formData).then((insertdata: any) =>{
      console.log("Insert Response",insertdata)
   })

insertuserdata(formData) {
    let httpOptions = {
      headers: new HttpHeaders({
        'enctype': 'multipart/form-data;', 
        'Content-Type': 'application/json'
      })
  };

    this.insert = this.http1.post("https://webapplnapp.tatapower.com/tpc_restfull_service/api/connecttosolve/postQuery", formData, httpOptions);
   
    return this.insert
  }

标签: ionic-frameworkmultipartform-data

解决方案


推荐阅读