ERHALTEN http://localhost:4200/api/listOfProducts/products.json 404 (Nicht Gefunden)
In meinem Angular2 Anwendung die Organisation der Ordner ist wie folgt
Project
|
+-- file 1
|
+-- api //folder
| |
| | +-- listOfProducts //folder
| |
+-- products.json //file
+-- src //folder
| |
+ | +-- app //folder
| +-- product //folder
+-- product.service.ts
+-- product-list.component.ts
+-- //other files
Produkt.service.ts ist wie folgt:
import {Injectable} from '@angular/core';
import {Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/catch';
import {IProduct} from './product';
@Injectable()
export class ProductService{
private _productUrl = 'api/listOfProducts/products.json';
//here 404 error
constructor(private _http: Http) {}
getProducts(): Observable<IProduct[]> {
return this._http.get(this._productUrl)
.map((response: Response) => <IProduct[]> response.json())
.do(data=>console.log("All: " + JSON.stringify(data)))
.catch(this.handleError);
}
private handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error || "Server error");
}
}
Nachdem ich nun meine Anwendung habe ich die folgenden Fehler
BEKOMMEN http://localhost:4200/api/listOfProducts/products.json 404 (Nicht
Gefunden)
Ich bin mir bewusst, das problem ist, dass die Verzeichnis-Pfad eingegeben wird ist falsch, aber ich habe versucht, mehrere Wege, und konnte immer noch nicht gelöst, mein problem. Das problem ist, dass ich nicht noch das wissen, wie die Angular2 Lesen Sie die Dateien.
Aus der Wurzel und unten oder von der Datei, die Sie sind, und oben?
- Die Datei ist nicht zugänglich auf dem server
- Wie kann ich diese Datei auch zugänglich auf dem server?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Organisation Ihr Projekt hat nichts damit zu tun, da sollten die Dateien von dem server aus zugänglich. Es ist wichtig, wie die Struktur Ihrer dist Ordner aussieht. Stellen Sie sicher, dass dist Ordner (der befindet sich auf Ihrem live-server) enthält json-Dateien. Wenn nicht, müssen Sie es konfigurieren webpack.
Persönlich denke ich, die bessere Lösung zu halten, mock-Daten im src-Katalog.f.e. mit anderen Vermögenswerten, in dieser Weise:
Wenn Sie Winkel-CLI und ng dienen zum ausführen des angular-Anwendung, die Alle json-Dateien sollten unter dem Ordner "assets".