簡體   English   中英

Angular 4-映射HTTP JSON響應

[英]Angular 4 - Mapping HTTP JSON Response

我正在嘗試設置一個普通的堆棧程序。 使用郵遞員設置和測試路線和功能。 我對所有路線都得到了正確的答復。 現在,我試圖添加視圖部分,Angular應用程序在內部調用路由。 我正在嘗試設置基本的獲取路線。 以下是我的組件代碼:

import { Component, OnInit } from '@angular/core';
import { UserService } from '../user.service';
@Component({
  selector: 'app-user',
  templateUrl: './user.component.html',
  styleUrls: ['./user.component.css']
})
export class UserComponent implements OnInit {
  users: {};
  constructor(private userService: UserService) { }
  ngOnInit() {
    this.getUsers();
  }
  getUsers() {
    this.userService.getAllUsers().subscribe(data => this.users = data);
  }
}

並且該服務包含以下代碼:

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';    
@Injectable()
export class UserService {    
  constructor(private http: Http) { }    
  getAllUsers() {
    this.http.get('/api/users')
      .map(res => res.json());
  }    
}

使用郵遞員的路線示例響應如下:

{
    "status": true,
    "err": null,
    "data": [
        {
            "_id": "59d5db344c46e83a14b94616",
            "name": "test"
        },
        {
            "_id": "59d5db3c4c46e83a14b94617",
            "name": "hello"
        }
    ]
}

它總是告訴我以下錯誤: Property 'subscribe' does not exist on type 'void'.

我究竟做錯了什么? 有人可以指出我執行此操作的標准方法嗎?

嘗試這個 :

您忘記了返回getAllUsers()

getAllUsers() {
   return this.http.get('/api/users')
      .map(res => res.json());
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM