2017-04-27 3 views
0

Ich versuche, Daten von einem Rest API-Aufruf und mit Python-Anfrage zu erhalten, und es funktioniert. Wie kann ich ähnlich in JavaScript und Typescript? Ich werde es in meiner Angular2-Anwendung benötigen.Javascript Auth ähnlich wie Python Auth?

Arbeits Python-Skript Importanforderungen

url = "restapi" 

r = requests.post(url, auth=('user', 'password')) 
print(r.text) 
+0

Wie war es? Kannst du ein Feedback geben? –

+0

Ich möchte eine externe Ruhe api mit eckigen nennen. Aber ich erhalte einen Fehler Antwort auf die Preflight-Anfrage übergibt keine Kontrolle der Zugangskontrolle: Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Origin 'http: // localhost: 4200' ist daher nicht erlaubt. – Tony

+0

Ok, aber das ist nicht Ihre Frage (das ist eine Serverkonfiguration, die nicht mit eckig verbunden ist). Erst akzeptieren Sie die Antwort und ich werde Ihnen bei diesem Problem auf einer separaten Frage helfen –

Antwort

0

Sie müssen http verwenden (vorausgesetzt, mit RxJS)

Ihr Import:

import { Http } from '@angular/http';

in Ihrem Konstruktor Injected:

constructor(public http: Http) {}

Ihre Ruheanforderungsmethode:

login(user:User,onNext: (response) => void) { 
    this.http 
     .post(BASE_URL+"/login",user) 
     .map(response => response.json()) 
     .subscribe(onNext,(e)=> console.error(`${e}`)); 
} 

Note1: User eine typisierte json mit nur {user:string, password:string}

Note2 ist: Bitte beachten Sie alle in einem @Injectable() Provider/Dienst die oben genannten zu tun, und der nächste Schritt in Ihrer Komponente (für den Anfang können Sie alles in der gleichen Klasse machen)

Dann verwenden Sie es so

login(myUserJson,(result)=>{ 
    console.log(result); 
    //proceed!... 
})