【发布时间】:2017-07-27 23:41:29
【问题描述】:
我在 WebAPI 中创建了一个 API,如下所示。
public HttpResponseMessage Get() {
var response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(JsonConvert.SerializeObject("Hello World"), Encoding.UTF8, "application/json");
return response;
}
我正在尝试从 Angular 调用它,如下所示
Service.ts
@Injectable()
export class DemoService {
constructor(private http:Http){}
GetHttpData(){
return this.http.get('http://localhost:54037/api/home')
.map((res:Response)=>res.json());
}
组件:
export class AppComponent implements OnInit {
data2: String;
constructor(private s: DemoService){}
ngOnInit(){
this.s.GetHttpData().subscribe(data=>this.data2=data);
console.log("Http call completed: "+this.data2);
}
在运行应用程序时,我得到输出:
Http调用完成:未定义
有人可以帮忙吗?
谢谢
【问题讨论】:
-
查看重复项,这是您的代码的预期行为。将
console.log语句放入subscribe回调中。通读建议的副本,以便了解 javascript/typescript 中异步代码的基础知识。
标签: angular asp.net-web-api angular-promise