Wie folgt man einer Weiterleitung in http.get in AngularJS?

Ich arbeite an einer Website für Coaches, um Menschen zu einem gesünderen Leben zu verhelfen, indem sie soziale Medien nutzen. Momentan arbeite ich an einem Zugriff auf Twitter über OAuth auf einem ExpressJS-Server mit AngularJS im Frontend.

Von demWebsite von AngularJS:

Ein Antwortstatuscode zwischen 200 und 299 wird als Erfolgsstatus betrachtet und führt zum Aufruf des Erfolgsrückrufs. Beachten Sie, dass XMLHttpRequest, wenn es sich bei der Antwort um eine Umleitung handelt, dieser transparent folgt. Dies bedeutet, dass der Fehlerrückruf für solche Antworten nicht aufgerufen wird.

Den vollständigen Code meines Servers finden Sie inweb.js undtwitter.js auf Github, aber das ist der Anrufer:

function LoginCtrl($scope, $http, $location) {
  $scope.welcome = 'Sign in with Twitter';
  $http.defaults.useXDomain = true;    
  $scope.submit = function() {    
    $http({method: 'GET', url: '/sessions/connect'}).
    success(function(data, status) {
        $scope.welcome = data;
    });
  };
}

Und das ist der Angerufene in web.js:

app.get('/sessions/connect', function(req, res){
  consumer().getOAuthRequestToken(function(error, oauthToken, oauthTokenSecret, results){
    if (error) {
      res.send("Error getting OAuth request token : " + sys.inspect(error), 500);
    } else {  
      req.session.oauthRequestToken = oauthToken;
      req.session.oauthRequestTokenSecret = oauthTokenSecret;
      res.redirect("https://api.twitter.com/oauth/authorize?oauth_token="+req.session.oauthRequestToken);      
    }
  });
});

Wenn ich mit überprüfetcpdump (Entschuldigung, ich bin altmodisch) Ich sehe:

Connection:.keep-alive....Moved.Temporarily..Redirecting.to.https://api.twitter.com/oauth/authorize?oauth_token=***

Das ist natürlich sehr schön und passiert tatsächlich, wenn ich zu diesem Server gehe/sessions/connect manuell im Browser. Mit AngularJS wird mein Browser-Bildschirm jedoch nicht umgeleitet. Warum nicht?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage