首页 > 解决方案 > 从 http 到 Http Client,无法让我的对象成为字符串数组

问题描述

我是 Angular 的新手,这可能是一个愚蠢的问题,但我已经研究了一段时间,但不知道如何解决它。我正在关注本教程

https://www.codeproject.com/Articles/1245243/How-to-Create-an-App-with-Angular-and-ASP-NET-C

但现在 http 已被弃用,Angular 现在使用 Http 客户端:

我在这里不断收到错误

export class AppComponent {
  title = 'BackEnd';
  public values: string[];


 constructor(private http: Http) {
    this.http.get('/api/values').subscribe(result => {
      this.values = result.json() as string[];
    }, error => console.error(error));
  }

我知道您不能在对象类型上使用 json(),这是 subscribe 返回的,但是,这是与 .net core 2.1 的项目集成,我需要将数据发送到我的控制器,在教程中数据的格式是字符串数组,所以我尝试了以下方法:

   constructor(private http: HttpClient) {
    this.http.get('/api/values').subscribe(result => {
      this.values = this.values.push(JSON.stringify(result));
    }, error => console.error(error));
  }

因为值是字符串数组,我以为我可以通过转换为字符串来推送,也尝试了字符串(结果),但随后又给了我另一个错误“类型号不可分配给字符串 []”......我真的很困惑如何解决这个问题,但我需要以这种特殊的方式工作以将 asp net core2 与 angular6 完全集成。

(是的,我知道您可以在 Visual Studio 上从头开始创建项目,但我被要求将 Angular 项目添加到已经存在的特定 .net 核心项目中)

顺便说一句,这适用于例如:

构造函数(私有 http:HttpClient){ this.values = [“这是一个愚蠢的静态测试”,“这个测试还需要一个数组,所以这里是”];

因为这里确实是一个字符串数组

标签: asp.netangulartypescript

解决方案


推荐阅读