我正在尝试将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;
}
我试了两天没有运气。 我期待从这里得到一些帮助。