【问题标题】:Angular ASP.NET: Http Get Web Api call works but no values shown by AngularAngular ASP.NET:Http Get Web Api 调用有效,但 Angular 未显示任何值
【发布时间】:2018-01-05 04:58:42
【问题描述】:

我在 asp.net 核心中创建了一个简单的 WebApi,如下所示:

[HttpGet("GetHomePageData")]
        public IActionResult GetHomePageData()
        {
            HomePageData HomePageData = new HomePageData()
            {
                BookName = "Test Book",
                AddressCount = 55
            };
            return Ok(HomePageData);
        }

在角度,我尝试如下称呼它:

constructor(public http: Http, @Inject('BASE_URL') public baseUrl: string) {

        http.get(baseUrl + 'api/GetHomePageData') 
            .subscribe(res => this.homePageData = res.json() as HomePageData);   
}

在我看来,我尝试按如下方式显示 HomePageData:

<div *ngIf="homePageData">Total Address = {{ homePageData.AddressCount }}</div>

在 Chrome 中运行时,Api 调用工作正常,页面加载正常,没有错误。但是,没有显示任何值,因为 'homePageData.AddressCount' 为空。

有人知道这里发生了什么吗?

仅供参考,我已经按照Observable type error: cannot read property of undefined 中的 SO 回答了

谢谢!

【问题讨论】:

  • 如果您将{{ homePageData | json }} 放入您的模板,您会看到什么?
  • 我看到 { "bookName": "Test Book", "addressCount": 55 }
  • 嘿为什么是小型大写字母?
  • 'addressCount' 中的第一个字母现在是小型大写字母.. 很奇怪.. 但现在可以了!谢谢
  • 您也可以通过在浏览器开发控制台中查看网络选项卡来检查这一点

标签: asp.net angular asp.net-web-api


【解决方案1】:

ASP.NET 使用 camelCase 进行序列化

addressCount代替AddressCount

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-22
    • 2017-10-16
    • 1970-01-01
    • 2022-11-20
    • 2015-06-16
    • 2016-05-03
    • 2019-06-03
    • 2015-04-16
    相关资源
    最近更新 更多