Ich arbeite an einer Website für Coaches, um Menschen zu helfen, durch die Nutzung von Social Media ein gesünderes Leben zu führen. Momentan arbeite ich am Zugriff auf Twitter über OAuth in einem ExpressJS-Server mit AngularJS im Frontend.
Von der Website von AngularJS :
Ein Antwortstatuscode zwischen 200 und 299 wird als Erfolgsstatus betrachtet und führt dazu, dass der Erfolgsrückruf aufgerufen wird. Beachten Sie, dass, wenn die Antwort eine Umleitung ist, XMLHttpRequest ihr transparent folgt, was bedeutet, dass der Fehler-Callback für solche Antworten nicht aufgerufen wird.
Der vollständige Code meines Servers finden Sie in web.js und twitter.js auf GitHub, aber dies ist der Aufrufer:
%Vor%Und das ist der Aufrufer in web.js:
%Vor% Wenn ich mit tcpdump
(sorry ich bin altmodisch) überprüfe, sehe ich:
Das ist natürlich sehr nett und passiert tatsächlich, wenn ich manuell auf diesen Server /sessions/connect
im Browser gehe. Mit AngularJS wird mein Browserbildschirm jedoch nicht umgeleitet. Warum nicht?
$http
geht und bekommt den Inhalt der Seite für Sie. Es gibt Ihnen jedoch die Ergebnisse zurück in das Versprechen. Es ändert Ihre Seite überhaupt nicht, wenn Sie es nicht fragen. In Ihrem then
-Handler können Sie etwas tun, um Ihre Seite umzuleiten. Es gibt ein Beispiel dafür, wie Sie das hier tun können: Behandeln Sie eine Express-Weiterleitung von Angular POST