Arrays 将json对象作为json数组发送到API
我有一个API,它接受数据格式为[{record\u id:TestID3}]。我正在尝试在我的angular project中使用下表发送记录\u id字段: html: 组件1.ts:Arrays 将json对象作为json数组发送到API,arrays,json,angular,Arrays,Json,Angular,我有一个API,它接受数据格式为[{record\u id:TestID3}]。我正在尝试在我的angular project中使用下表发送记录\u id字段: html: 组件1.ts: export class MembersAddComponent implements OnInit { member: Array<Object> = []; constructor(private service: DataService ) { } ngOnInit() { } sub
export class MembersAddComponent implements OnInit {
member: Array<Object> = [];
constructor(private service: DataService ) { }
ngOnInit() {
}
submit() {
this.service.importRecord(this.member).subscribe(member => {
this.member = member;
}, error => {
console.log(error);
});
}
}
还有我的服务。ts:
importRecord(data): Observable<any> {
const formData = new FormData();
formData.append('token', this.token);
formData.append('content', this.content);
formData.append('format', this.format);
formData.append('returnFormat', this.returnFormat);
formData.append('type', this.type);
formData.append('overwriteBehavior', this.overwriteBehavior);
formData.append('forceAutoNumber', this.forceAutoNumber);
formData.append('data', data);
formData.append('returnContent', this.returnContent);
return this.http.post(this.baseUrl, formData).map(res => res.json())
.catch(this.handleError);
}
我得到的错误如下:
{错误:导入的数据格式不正确。JSON必须位于数组中,如[{…}].}
我还尝试了member:any={},member:Object={};但我也犯了同样的错误。我认为我无法按照请求的格式格式化我的成员对象。但我无法按预期格式制作
[ { "record_id": "TestID3" } ]
这是一个数组,包含一个元素,它是一个对象
member: Array<Object> = [];
它将尝试读取和写入成员的属性记录\u id,这是一个数组。它不会神奇地向数组中添加元素并设置其属性
因此,您需要的是一个将由表单填充的对象。然后,在将数组发送到API之前,需要将该对象放入数组中
首先定义一个接口来描述对象:
interface Member {
record_id: string;
}
然后使用一个作为表单的模型:
member: Member = {
record_id: '';
};
然后在发送前将该成员放入数组:
submit() {
const data: Array<Member> = [this.member];
this.service.importRecord(data)...
很难判断这是因为帖子或帖子正文的回复格式不正确 你可以做的事情: 检查Chrome中的网络选项卡以验证请求是否已发送,其内容是否有效,并使用在线验证程序 检查您的API后端,查看您发送的数据是否已保存,如果已保存,则错误与响应中的JSON格式有关。 在Chrome中验证网络请求中的响应数据是否为有效的JSON。 如果所有这些都是真的,您可能需要考虑使用诸如{RestRestType:“JSON”}的标题,如这里的角度文档中所详述的: 如果这些不正确,则需要更改要发送的对象的模型,以反映预期的对象。
共享预期的JSON正文,这将有助于从angular为您的API构建JSON
member: Member = {
record_id: '';
};
[(ngModel)]="member.record_id"
submit() {
const data: Array<Member> = [this.member];
this.service.importRecord(data)...