我正在开发与服务器连接的离子应用程序。我正在从应用程序调用post方法。我收到空的JSON文件。但是当我从邮递员那里尝试时,我得到了预期的答复。
addLocation(coordinates) {
console.log(coordinates)
return new Promise((resolve, reject) => {
this.http.post(this.localurl + '/location', JSON.stringify(coordinates), {
headers: new HttpHeaders().set('Content-Type', 'application/json'),
})
.subscribe(res => {
resolve(res);
}, (err) => {
console.log("rejected");
reject(err);
});
});
} 通过这种方法,我会将用户的位置发送到服务器。然后它必须接收附近的商店。但我收到空的JSON文件。但我从邮递员那里得到了预期的答复。
答案 0 :(得分:3)
使用toPromise
将可观察者转换为应许。
addLocation(coordinates) {
console.log(coordinates)
return this.http.post(this.localurl + '/location', JSON.stringify(coordinates), {
headers: new HttpHeaders().set('Content-Type', 'application/json'),
})
.toPromise()
});
现在从组件中调用它。
yourService.addLocation(coordinates).then((res => {
console.log(res)
}, (err) => {
console.log("rejected");
})