【问题标题】:Property token does not exist on type Object类型 Object 上不存在属性标记
【发布时间】:2020-05-13 15:00:50
【问题描述】:

我正在尝试按照教程 here 进行操作,但由于我使用的是较新版本的 Angular 和 Ionic(Angular 5 和 Ionic 3),所以下面这些行出现错误

this.token = data.token;
this.storage.set('token', data.token);

Visual Studio 代码显示此错误: Property token does not exist on type 'Object'

函数代码如下:

createAccount(details){

    return new Promise((resolve, reject) => {

        let headers = new Headers();
        headers.append('Content-Type', 'application/json');

        this.http.post('https://YOUR_HEROKU_APP.herokuapp.com/api/auth/register', JSON.stringify(details), {headers: headers})
          .subscribe(res => {

            let data = res.json();
            this.token = data.token;
            this.storage.set('token', data.token);
            resolve(data);

          }, (err) => {
            reject(err);
          });

    });

  }

我应该对我的代码进行哪些更改?

【问题讨论】:

  • 你的 json() 函数返回什么?也许你需要先用 JSON.parse(res); 解析文本;
  • @Sajeetharan 是的,谢谢

标签: angular ionic3


【解决方案1】:

尝试将其解析为,

  this.token = data['token'];
  this.storage.set('token', this.token);

【讨论】:

    【解决方案2】:

    如果 Typescript 无法识别对象“res”上的属性“token”,则更改为 res: any

    this.http.post(api.url, params)
            .subscribe((res:any) => { 
    ...
    ..
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-25
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      相关资源
      最近更新 更多