Używam programu Expressjs jako interfejsu API i używam go do przekreślenia tego POST. Chciałbym odpowiedzieć na przekierowanie wysyłane przez ekspres. Sukces z mojego Angular POST zwraca kod HTML strony, którą zamierzam przekierować, ale nic nie dzieje się w moim DOM. Widzę, że moje przekierowanie działa w moim ruchu sieciowym, a dane console.log poniżej zawierają DOM przekierowanej strony.Obsługa przekierowania ekspresowego z Angular POST
Jak odświeżyć DOM, aby odzwierciedlić ten pomyślny test POST lub obsłużyć "przekierowanie"?
ANGULAR KOD:
$http({method: 'POST', url: '/login', data:FormData}).
success(function(data, status, headers, config) {
console.log(data)
}).
error(function(data, status, headers, config) {
});
$scope.userName = '';
Expressjs API:
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 (dane) (od Kątowymi sukcesu POST)
returns the HTML of the page I intended to redirect to
Jak można wykryć "instrukcję przekierowania" w Angular? W przykładzie op używającym Express, czy Angular ujawnia jakiś sposób wykrywania res.redirect ("/") pochodzącego z serwera? – Matt
To zależy od programisty, ale w większości przypadków chcesz zwrócić kod statusu 200 (sukces) lub 201 (utworzony), w takim przypadku wystarczy umieścić wywołanie '$ location.url ('/')' w '$ http 'powolne oddzwanianie. – Stewie
jak mogę naśladować tradycyjny sposób publikowania danych w miejscu, gdzie działa res.redirect,