在post方法中传递复杂对象,用于头文件应用/ x-www-form-urlencoded in ionic 2及以上

时间:2017-11-08 05:39:34

标签: angular ionic2

我正在尝试将post对象发送到webapi,而webapi期望对象内的对象数组,我知道如何在正常的Ajaxcall中发送它但是无法在Ionic2中找到它。

让我向您展示我的API服务器如何期待数据

我有两个班级

头等舱

public class class1{
    public long? variable1{ get; set; }
    public long? variable2{ get; set; }
    public int variable3{ get; set; }
    public string variable4{ get; set; }
    public string variable5{ get; set; }
    public decimal? variable6{ get; set; }
}

第二课

public class class2
{
    public long? newvariable1{ get; set; }
    public int? newvariable2{ get; set; }
    public long? newvariable3{ get; set; }
    public long? newvariable4{ get; set; }
    public List<class1> newvariable5{ get; set; }
}

控制器将

[HttpPost]
    public dynamic Post([FromBody] class2 value)
    {


 }

在ionic2 Post方法中,我可以将数据发送到class2的所有参数,但不能将数据类型的参数发送为class1。

Ionic2 Post方法如下所示

  let params = new URLSearchParams();
  let body={
            newvariable5:JSON.stringify(this.ValueList),
            newvariable1:value1,
            newvariable2:value2,
            newvariable3:value3,
            newvariable1:value4
          }
  for(let key in body){
            params.append(key,body[key]);
        }

  this.http.post(this.config.url + "ClassListAPK",params, {
            headers: headers
        }).map(res => res.json())

            .subscribe(data => {

                resolve(data);
            });

我也试过

      params.append("newvariable1", value1.toString());
        params.append("newvariable2", value2.toString());
        params.append("newvariable3", value3.toString());
        for(let j=0;j<this.classlist.length;j++){

        params.append("newvariable5",JSON.stringify(this.vlueList[j]));

        }

        params.append("newvariable4",value4.toString());

其中valuelist将包含参数

export class valueList{
     variable1:any;
     variable2:any;
     variable3:any;
     variable4:any;
     variable5:any;
     variable6:any;
  }

我试了两天没有运气。 我期待从这里得到一些帮助。

0 个答案:

没有答案