2017-06-02 1 views
0

Ich habe ein Modell vonAngular4 Typoskript Schnittstelle dynamische Typumwandlung Ausgabe für Anzahl von Server

export class School { 
    school_id: number; 
    school_name: string; 
    school_code: string; 
} 

Sobald ich mit

Meine Variable Initialisierung für Schuldaten

schools: School[] = []; 

Meine Daten Service abonnieren

getSchool(){ 
    return this.http.get(`${this.apiEndPoint}/api/getSchool`,this.jwt()) 
    .map((response:Response) => response.json()); 
    } 

getSchoolData() { 
    this.dataService.getSchool().subscribe(response => { 
     this.schools = response.data; 
     console.log(this.schools); 
    }); 
    } 

Das Konsolenprotokoll Objekt gibt

[0:Object 
school_code:"ALL" 
school_id:"1" 
school_name:"ALL" 
] 

I school_id Nummer und seine Einstellung Zeichenfolge erwartet. Wie kann ich einschränken, so dass school_id wird Nummer statt der Schnittstelle sein.

+1

Die Daten werden von Ihrem Server gesendet. Wenn der Server diesen Wert als String festlegt, wird er als String ausgegeben. – echonax

+0

Tatsächlich ist das Feld in MySql der Typ von int. Ich mache eine Json-Codierung während des Sendens. Aber warum es nicht versagt und es eine Schnur setzt. –

+0

Ja, ich habe es in der Backend-Ebene von json_encode ($ Antwort, JSON_NUMERIC_CHECK) in PHP-Antwort behoben. Aber warum wirft Angular keinen Fehler, wenn eine Zahl durch eine Zeichenkette gesetzt wird. –

Antwort

0

Ja, ich regelte es auf Back-End-Ebene durch

json_encode($response, JSON_NUMERIC_CHECK) 

in PHP Antwort.

Verwandte Themen