2017-03-28 2 views
0

파일 이름이 PrimeNG를 구현하려고하는데 cars-small.json이라는 JSON 파일에 데이터가 있습니다. 경로에서 코드가 정확하다고 생각하고 거의 20 번 확인했으며 이름을 변경하여 체크했습니다. 파일의 경로와 경로는 항상 404 오류가 발생합니다.파일 경로 오류 각도 2

@Injectable() 
export class CarService { 

datatable = "app/services/cars-small.json"; 
url = this.datatable; 

constructor(private http: Http) {} 

getCarsSmall() { 
    return this.http.get(this.url) 
       .toPromise() 
       .then(res => <Car[]> res.json().data) 
       .then(data => { return data; }); 
    } 
} 

을하지만 항상이 오류 이미지 (https://imgur.com/StSFhUP)와 실제 이미지 경로 (https://imgur.com/cxEHMJ6)를 확인, 404 오류 :

이 내가 그것을 얻기 위해 노력하고 있어요 방법이다. 앱이 응용 프로그램에있는 폴더를 의미하기 때문에, 다음과 같이 당신이 http.get을하고 있기 때문에

datatable = "/services/cars-small.json"; 

편집이

, 그것은 전체가 있어야

+0

두 이미지가 동일합니다. – Sajeetharan

+0

죄송합니다. 지금 업데이트하십시오. –

+0

json 파일이 webpack 정적 파일 l에 추가되었는지 확인하십시오. ist. –

답변

3

변경 데이터 테이블 경로, 같은 http://localhost:4200/services/cars-small.json

복사 JSON의 자산 폴더 **src/assets/cars-small.json**에 파일을 한 다음에 액세스 할 수 있어야합니다

자산을 다른 폴더에 모든 넣어야 할 공공없는 폴더를 제외하고 기억 응용 프로그램 폴더를 공개하지 않기 때문에
datatable = "/assets/cars-small.json"; 
+0

이미 시도했습니다. 동일한 오류 –

+0

은 URL에 붙여 넣을 수 있습니까? 로드 – Sajeetharan

+0

@MuhammadArslan Angular 2는 상대 경로 지정을 사용하므로'./cars-small.json'과 같은 것을 사용해야합니다 – gelliott181

1

은 그래서 당신의 cars-small.jsonsrc/assets/cars-small.json에 넣고 당신은

http://localhost:4200/assets/cars-small.json

같은 URL을 뭔가에 액세스 할 수 있습니다 귀하의 모의 데이터가 다른 정적 파일 이미지 등

+0

@Arsalan 체크 아웃 당신의 문제를 해결할 것입니다 두 번째 대답을 나는 이미 이런 짓을했다 –

+0

그래, 맞아 : –

+0

덕분에 나는 자산 폴더에있는 모든 JSON 파일을 집어 넣어야합니까? –