Подтвердить что ты не робот

Обрабатывать экспресс-перенаправление с Angular POST

Я использую Expressjs как API, и я использую angular, чтобы попасть в этот POST. Я хотел бы ответить на перенаправление, которое отправляет экспресс. Успех от моего angular POST возвращает HTML-адрес страницы, на которую я намереваюсь перенаправить, но ничего не происходит на моем DOM. Я вижу, что мое перенаправление работает в моем сетевом трафике, а данные console.log ниже содержат DOM перенаправленной страницы.

Как я могу обновить DOM, чтобы отразить этот успешный POST или обработать "перенаправление"?

ANGULAR КОД:

   $http({method: 'POST', url: '/login', data:FormData}).
      success(function(data, status, headers, config) {
      console.log(data)
    }).
      error(function(data, status, headers, config) {
    });

    $scope.userName = '';

API Expressjs:

    app.post('/login', function(req, res){

        var name = req.param('name', null);  // second parameter is default
    var password = req.param('password', "changeme")

    // Lots Authenticationcode
    // returns succesfful login
    res.redirect('http://localhost:3000/'); 

  }); // end app.post

console.log(данные) (от angular Успех POST)

returns the HTML of the page I intended to redirect to
4b9b3361

Ответ 1

AngularJS предназначен для работы в качестве клиентской платформы, в сочетании с (в основном) RESTfull API. Ваш API входа не должен возвращать HTML, он должен вернуть команду для перенаправления. Поэтому в вашем случае вы должны просто вызвать $location.url('/') в своем обратном вызове $http, который будет использовать маршрутизатор Angular для "перенаправления" на "/" (корневой URL-адрес).