为什么angular没有找到json文件?

时间:2017-05-03 07:25:32

标签: angular

我试图通过data.json文件获取json数组,但angular js找不到data.json(returning 404 Error)。我尝试了很多方法,但仍然无法解决这个问题(我刚开始学习角度2)。以下是我的相关文件和代码:

app/user/user.service.ts // User Service File

import {Injectable} from '@angular/core';
import {Http, Response} from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class UserService{
    private JsonDirectory: string = "app/data.json"
    constructor(private _httpReference: Http){}
    getUsers(){
        return this._httpReference.get(this.JsonDirectory)
                .map((responseReference:Response) => responseReference.json());
    }
}

在同一位置,我有另一个名为user.component.ts

的文件
import { Component, OnInit } from '@angular/core';
import {UserService} from './user.service';

export class UserComponent implements OnInit{
    UserArray = [];

    ngOnInit(){
        this.userService.getUsers()
            .subscribe(resUserData => this.UserArray = resUserData);
    }

}

Data.json文件代码

[
    {"id":1,"name":"Ayaz","gender":"Male"},
    {"id":2,"name":"Ali","gender":"Male"},
    {"id":3,"name":"Shah","gender":"Male"},
    {"id":4,"name":"Khan","gender":"Male"}
]

我将data.json文件放在app / data.json,user / data.json和root上的不同位置,然后根据位置更改了url,但是找不到它并返回{ {1}}。

1 个答案:

答案 0 :(得分:2)

将其保存在资产文件夹&使用

this.http.get('assets/file.json')