【发布时间】:2021-12-07 06:22:36
【问题描述】:
我有一个带有复选框的表单,我想将其发送到 API 以便将其保存到数据库中。
这是city.page.html
<ion-item *ngFor="let city of cities;">
<ion-checkbox [(ngModel)]="city.id" ></ion-checkbox>
<ion-label>{{city.name}}</ion-label>
</ion-item>
<ion-button type="button" (click)="saveCity()">Save</ion-button>
这是city.page.ts
city: any;
saveCity() {
let data = {city: this.city};
this.http.post('http://example.com/api/saveCity', JSON.stringify(data))
.subscribe((res: any) => {console.log("success");});
}
问题是我不知道如何以以下格式发送该数据,因为 API 只接受这种格式将其保存到数据库中。
"city": [
"32",
"432",
"231"
]
我们将不胜感激。
【问题讨论】:
-
您有几个选择。首先,您可以在单击时将城市 ID 添加/删除到组件上的数组中。其次,可以使用表单数组。
-
@Brandon 我执行了我发布的上述步骤,但不幸的是在 Chrome 控制台中,我得到了 undefined 响应。我很乐意发布正确的格式并回答我和所有有同样问题的人:)。
-
您不需要对数据对象进行字符串化。您需要将完整的组件代码添加到您的答案中,但我不会使用 ngModel 来保存选定的复选框值。另外,不要使用
any作为您的类型。这只会让你自己失败。 -
嗯。这很棘手,因为我只知道如何保存输入值。如果您对其进行编码,我会很高兴:)。谢谢。
-
嗯,是的,这不是这样的。我可以指出您方法中的错误,但 Stack Overflow 不是代码编写服务。
标签: angular api ionic-framework