获取http:// localhost:4200 / src / app / ficheros / nacionalidades.json 404(未找到)

时间:2017-07-15 12:31:38

标签: json angular http

我绝望了。

我的问题是我写了我的json文件的完整路径(我尝试了不同的可能性),但它返回错误404(GET http://localhost:4200/src/app/ficheros/nacionalidades.json 404(未找到))。在问这个问题之前我正在调查。我不知道我做错了什么,我不是专家。我留下我的代码,以便你看到它。

组件:

    import { Component, OnInit } from '@angular/core';
    import { Servicio1Service } from './../../services/servicio1.service';

    @Component({
      selector: 'app-componente-hijo1',
      templateUrl: './componente-hijo1.component.html',
      styleUrls: ['./componente-hijo1.component.css']
    })

    export class ComponenteHijo1Component implements OnInit {
      listaPersonas: any;
      constructor( private _servicio1service: Servicio1Service ) { }

      ngOnInit() {
        this._servicio1service.getTodasPersonas().subscribe((personas) => {
          this.listaPersonas = personas;
          console.log("this.listaPersonas");
          console.log(this.listaPersonas);
        });
      }

    }

服务:

    import { Injectable } from '@angular/core';
    import { Http } from '@angular/http';
    import 'rxjs/add/operator/map';

    @Injectable()
    export class Servicio1Service {
      constructor( private _http:Http ) { }

      getTodasPersonas(){
        return this._http.get("./src/app/ficheros/nacionalidades.json").map((res) => res.json());
      }
    }

项目结构:           SRC-APP- {组件,ficheros,服务}

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我曾经尝试加载像你这样的本地json,但它没有用。 解决方案是将json文件放在assets文件夹中。 然后在你的代码中:

 getTodasPersonas(){
   return this._http.get("assets/nacionalidades.json").map((res) => res.json()); 
 }

希望它能解决你的问题:)

祝你好运