【发布时间】:2018-04-23 19:16:40
【问题描述】:
我希望有人可以提供帮助。我在 Visual Studio 中创建了一个新的 asp.net core angular 项目和一个简单的 api 方法,如下所示:
[Produces("application/json")]
[Route("api/Users")]
public class UsersController : Controller
{
[HttpGet("[action]")]
public async Task<JsonResult> CheckAPIConnection()
{
return Json(new { success = true });
}
然后我在 Angular 中创建了一个新服务
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { Headers, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class ApiService {
constructor(private http: Http) {
}
checkAPIConnection() {
let result = this.http.get("/api/Users/CheckAPIConnection");
let jso:any;
result.subscribe(res => jso = res);
console.log(jso);
if (jso.success == true) return true;
else return false;
}
在提琴手中请求成功并且响应正确。但是console.log 告诉我“jso”是未定义的。所以我尝试添加
result.subscribe(res => jso = res.json());
但这并没有改变任何东西。我也尝试使用jso["success"] 输入“jso”,但我认为市长的问题是 jso 未定义。
我试图寻找解决方案,但每个人都使用 then() 而不是 subscribe()。我错过了一些进口吗? (抱歉,我对 Angular 非常陌生,尤其是在从 api 接收数据方面)
【问题讨论】:
标签: angular asp.net-core