【发布时间】:2023-02-17 19:39:12
【问题描述】:
我正在尝试为我的应用程序创建一个功能,从订单中获取产品并将它们发送到购物车。所以基本上它会重复整个订单。
我成功收到订单,但无法使用 POST 方法将其发送回 API。
我在 cart.service.ts 文件中的 API 调用是:
repeatOrder(products: SingleOrder['izdelki']) {
return from(Preferences.get({key: 'TOKEN_KEY'})).pipe(
switchMap(token => {
const headers = new HttpHeaders().set('Authorization', `Bearer ${token.value}`);
const formData: any = new FormData();
formData.append('products', products);
return this.httpClient.post(`${environment.apiUrl}cart/repeatorder`, formData, {headers, observe: 'response'});
}),
catchError(err => {
console.log(err.status);
if (err.status === 400) {
console.log('Error 400: ', err.error.message);
}
if (err.status === 401) {
this.authService.logout();
this.router.navigateByUrl('/login', {replaceUrl: true});
}
return EMPTY;
}),
);
};
这是 order-view.page.ts 文件中的重复购买功能:
repeatThisPurchase() {
this.repeatOrderArr= [...this.orderProducts];
this.cartService.repeatOrder(this.repeatOrderArr).subscribe(
data => {
console.log('Data sent to cart: ', data);
},
error => {
console.log('Error', error);
}
);
}
这是我用来触发此 repeatPurchase 功能的按钮:
<div class="btn-wrapper">
<ion-button color="vigros" class="purchase-btn" size="default" type="submit" (click)="repeatThisPurchase()" expand="block">Ponovi nakup</ion-button>
</div>
我在浏览器的控制台中收到错误 500,网络选项卡中的有效负载是:产品:[object 对象],[object 对象],[object 对象],[object 对象],[object 对象],[object 对象],[object 对象],[object 对象],[object 对象],[object 对象] ]
我究竟做错了什么?
【问题讨论】:
-
你能显示 API 端点吗,因为那是错误所在,API 服务器说出了它所期望的错误
标签: javascript arrays angular typescript ionic-framework