这是我在本机脚本和一般移动开发环境中的第一个应用程序。而且我遇到了一些困难。我正在尝试使用angular http模块发出一些虚拟http请求,但是由于某些原因,当我在chrome中调试应用程序时,似乎没有发出请求。
这是我的代码:
模板:
<Page>
<StackLayout>
<Button text="GET" (tap)="get()"></Button>
<Button text="POST" (tap)="post()"></Button>
</StackLayout>
</Page>
组件:
import { Component } from "@angular/core";
import { AuthService } from "../../shared/auth.service";
import { HttpClient } from "@angular/common/http";
@Component({
selector: "register",
moduleId: module.id,
templateUrl: "./register.component.html"
})
export class RegisterComponent {
constructor(private auth: AuthService, private http: HttpClient) {}
get()
{
console.log('GET');
this.http.get('https://httpbin.org/get');
}
post()
{
console.log('POST');
this.http.post('https://httpbin.org/post', null);
}
}
现在,当那些功能执行时,没有记录的请求。 我正在模拟器中运行,因此可以从中浏览,因此,如果有人对可能出问题的地方有一些想法...
答案 0 :(得分:1)
您必须订阅http请求,否则只能定义而不调用它们,请尝试在this.http.get('https://httpbin.org/get')
和this.http.post('https://httpbin.org/post', null)
之后添加以下内容:
.subscribe(
res => console.log(res),
err => console.log(err),
() => console.log("Done"),
);
修改
最初我没有提到,实际上最好是订阅返回http方法的函数,而不是订阅调用本身。根据经验,我发现可能会发生一些异常行为