2017-04-08 2 views
0

vor dem Upgrade auf angular/cli 1.0.0 mein Dienst erhält lokale JSON-Datei (für Test) funktioniert wahrscheinlich mit Winkel-cli 1.0.0 beta 23. Jetzt habe ich das Problem derFehler beim Upgrade auf final @ angular/cli 1.0.0: Unerwartetes Token <in JSON an Position 0 bei Object.parse()

GET http://localhost:4200/json/inputInventory/inputInventory.json 404 (Not Found) core.es5.js:1084 ERROR SyntaxError: Unexpected token < in JSON at position 0 at Object.parse()

den aktuellen Service ist:

.... ommitted

private inputmaterialInputUrl = 'json/inputInventory/inputMaterial.json'; 

constructor(private http: Http) { 
} 

getInputPO(): Observable<InputInventoryModel[]> { 
    return this.http.get(this.inputInventoryUrl) 
     .map((res: Response) => res.json()) 
     .catch((error: any) => Observable.throw(error.json().error || "Json error")); 

} .... omitted 

die Komponente Aufruf Service

.... omitted

export class InputInventoryComponent {

@ViewChild('largeModal') largeModal; 

id: any; 

public data: InputInventoryModel[]; 
public selectedItem = { 
    id: "0", 
    date: "", 
    PO: "", 
    supplier: "", 
    detail: "", 
    price: "", 
    cost: "", 
    note: "" 
}; 

constructor(public inventoryService: InventoryService, public router: Router) { 
    inventoryService.getInputPO() 
     .subscribe(items => { 
      this.data = items; 
      console.log(items); 
     }); 
} ....omitted 

und die GUI Rendering Datenelemente über * ngFor Ausdruck

der JSON ist formatiert und überprüfen Sie gültig von JSON Online-Check-Tool.

JSON-Datei:

[ 
{ "id": 1, 
    "date": "01/01/2017", 
    "PO": "NA12451", 
    "supplier": "Công Ty TNHH Việt Nam - TMT 256", 
    "detail": ["02 Máy In LINX 1200","02 Keyboard Mítumi","05 Hộp Mực In LINX1200","12 Cartridges 1033"], 
    "price": 250000, 
    "cost": 21500, 
    "note": "This is note 01 for order 01 date 12/12/2016" 

},
{ "id": 2, "Datum": "2017.01.02", "PO": "NA12452", „Lieferant ": "Công Ty TNHH VIETNAM - TMT 256", "Detail": [" 05 HOP muc In LINX1200" , "12 Patronen 1033"], "Preis": 340000, "Kosten": 215000, " Hinweis ":" Dies ist die Anmerkung 01 für die Bestellung 01 Datum 12.12.2016 "
},
{"id": 3, "Datum": "01/03/2017", "PO": "NB12453", "Lieferant": "Công Ty TNHH Việt Nam - TMT 256", "Detail" : ["02 Máy In LINX 1200", "02 Tastatur Mítumi", "05 Hộp Mực In LINX1200", "12 Cartridges 1033"], "Preis": 250000, "Kosten": 200015, "Hinweis": "das ist Anmerkung 01 für den Auftrag 01 Datum 2016.12.12"
} ]

ich erlebe nicht das Problem, bis ich zu Winkel/cli Upgrade 1.0.0 und 2.4.8 Winkel

Jeder kann er lp um zu zeigen, woher das Problem kommt? Ich schätze

+0

Das Problem ist in dem Server Seite, es gibt nicht JSON zurück, daher erhalten Sie 'Unerwarteter Token <' Fehler. Öffnen Sie Ihren Chrome-Debugger und sehen Sie sich das Ergebnis an. –

+0

Nein, ich habe noch keine Verbindung zu einem Back-End hergestellt, benutze einfach die JSON-Datei im selben App-Ordner, über angular/http-Service anrufend, es funktionierte gut, bevor ich den angle-cli beta 23 auf final 1.0.0 aufrüstete , Rollback auf eckig-cli beta 23 dann funktioniert alles gut – Leean

Antwort

0

Ich bin nicht sicher, was dieser Fehler bei der Aktualisierung Angular CLI zu tun hat, aber ich würde mit der Bewegung des folgenden Code ngOnInit() starten:

inventoryService.getInputPO() 
    .subscribe(items => { 
     this.data = items; 
     console.log(items); 
    }); 
+0

Ich bewegte mich bereits zu ngOnInit, aber es hagelte immer noch. Rollback zu eckigen Beta 23, gibt es kein Problem. – Leean

Verwandte Themen