Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有id和密钥的Api调用_Javascript_Angular_Typescript_Api - Fatal编程技术网

Javascript 带有id和密钥的Api调用

Javascript 带有id和密钥的Api调用,javascript,angular,typescript,api,Javascript,Angular,Typescript,Api,我想从我的卡路里计算器中获取数据。它需要x-app-id和x-app-key进行身份验证 我所尝试的: (Service.ts) 当我控制台响应时,它不显示任何内容。 api调用中是否存在任何问题 谢谢 您正在使用map运算符,该运算符用于替换响应。改用点击操作符 return this.http.post<any>(url, {query}, options).pipe( tap((res) => { console.log(res); }) ); 返回t

我想从我的卡路里计算器中获取数据。它需要x-app-id和x-app-key进行身份验证

我所尝试的: (Service.ts)

当我控制台响应时,它不显示任何内容。 api调用中是否存在任何问题


谢谢

您正在使用
map
运算符,该运算符用于替换响应。改用
点击
操作符

return this.http.post<any>(url, {query}, options).pipe(
  tap((res) => {
    console.log(res);
  })
);

返回this.http.post(url,{query},options).pipe(
轻触((分辨率)=>{
控制台日志(res);
})
);

检查订阅和映射之间的差异

返回this.http.post(url,{query},options).subscribe((res)=>{
控制台日志(res);
})
);

您需要订阅一个cold observable来触发请求

寄存器组件

someHandler(){
此.authService.fetchFood()已订阅({
下一步:res=>{
控制台日志(res);
//做点别的
},
错误:错误=>{
//处理错误
}
});
}
此外,如其他答案中所述,您可以在服务中使用
点击
而不是
映射
操作符进行日志记录<代码>映射
用于转换响应

  this.authService.fetchFood();
return this.http.post<any>(url, {query}, options).pipe(
  tap((res) => {
    console.log(res);
  })
);

return this.http.post<any>(url, {query}, options).subscribe((res) => {
    console.log(res);
  })
);