post方法的响应为空

时间:2018-09-19 09:50:27

标签: angular ionic3

我正在开发与服务器连接的离子应用程序。我正在从应用程序调用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文件。但我从邮递员那里得到了预期的答复。

1 个答案:

答案 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"); 
})