Also, das ist mein erster Beitrag auf Stackoverflow, also bitte verzeiht mir, wenn ich einfach nicht für diese hart genug suchen, aber ...URLSearchParams Anfügen zusätzliche & auf URL-Parameter Angular2 + Ionic2
ich bin Gebäude einfache Login-Seite auf unseren Firmen Ionic2 + Angular2 App. Das Login-Formular führt einen HTTP-Aufruf an unser Backend aus, der mit den Anmeldeinformationen des Benutzers antwortet, wenn sie korrekt sind, dann wird der Benutzer auf die Homepage zugelassen, wenn er keinen 401-Fehler erhält.
Letzte Nacht, als ich es auf einer Windows-Maschine fertig verkabelte, funktionierte alles perfekt. Aber bei der Arbeit verwenden wir Macs und so, wenn ich ionic run android
und/oder ionic serve --lab
es die API-Anrufe sind nicht korrekt mit den Parametern angehängt. Um zu zeigen:
private theUrl = 'http://theurl.com/mobileapi/getUser.cfm?';
public onlogin(email: string, password: string) {
let params: URLSearchParams = new URLSearchParams();
params.set('email', email);
params.set('password', password);
return this.http.get(this.theUrl, { search: params })
.map(res => res.json())
}
Dieser Code verwendet URLSearchParams die URL-Parameter zu setzen und übergibt sie dann direkt in die http.get()
Anfrage als Option. - Wir geben die E-Mail und das Passwort von der eckigen Front-End-Form aus. Jetzt
, wenn die App serviert/lief der API-Aufruf wie folgt aussehen endet:
http://theurl.com/mobileapi/getUser.cfm?&email=xxxx&password=xxxxx
Der Punkt Ich bin an der .cfm? & Teil der URL. Ich weiß, dass es nicht so für einen Anruf formatiert werden soll ... Fehle ich hier etwas, um die URL-Parameter richtig zu formatieren?
Dank
Vielen Dank, das das Problem gelöst! – Evanangel