可能只是某个地方的愚蠢错误,但我似乎无法查明原因。该函数正在被调用(由控制台日志验证),但是由于某种原因,错误日志或成功日志都不会随后打印出来。后端没有收到发布请求,为什么错误日志没有显示任何内容?
getBooks(): Observable <FormData | null> {
let request = new FormData();
request.append('action', "GetBooks");
console.log("Function has been called");
return this.http.post('http://localhost/Projects/Website/PHP/index.php', request).pipe(
map((returned) => {
console.log("Here I parse 'returned'");
let books = new FormData();
return books;
}, (error) => {
console.log('Error! ', error);
return null;
}));
}
答案 0 :(得分:3)
您需要调用.subscribe(),以便使用您的方法。
由于您使用可观察对象进行工作,因此订阅功能可以“监听”来自可观察对象的任何数据,这些数据实际上会执行代码。
var res=null;
this.http.post('http://localhost/Projects/Website/PHP/index.php',
request).subscribe(data => {
res=data;
},
error => {
...
},
() => {
...
}
return res;