Node.js Page Redirect sur la connexion AJAX? Avec un appel de fonction après la redirection?

La page ‘/ stories’ est spécifique à l’utilisateur et nécessite des informations d’identification de connexion valides.

La validation est prise en compte avec les journaux de noeud, côté serveur et correctement avant la redirection, mais ne redirige pas vers la page d’articles.

Cela semble être dû au fait que ” vous ne pouvez pas effectuer de redirection après une AJAX. Vous devez le faire vous-même en Javascript “, mais le code de la première réponse à cette question semble quelque peu incomplet..Pour l’appel avec succès ..

En outre, comment une fonction ultérieure (refreshStories) peut-elle être appelée en cas de succès après la redirection?

Voici le AJAX:

if (loginUsername.length != 0) { console.log('there is a login: ' + loginUsername); // make an ajax call $.ajax({ dataType: 'json', data: AjaxLoginData, type: 'post', url:"http://localhost:4200/api/v1/users", success: (data, textStatus, jqXHR) -> if typeof data.redirect == 'ssortingng' window.location = data.redirect success: refreshStories, error: foundError }); 

Node.js + Express4

 router.route('/users') // log in a user (accessed at POST http://localhost:4200/api/v1/users) .post(function(req, res) { var username = req.body.loginUsername; var password = req.body.loginPassword; authenticateUser(username, password, function(err, user){ console.log('authenticate user..'); if (user) { console.log('yes user'); // subsequent requests will know the user is logged in req.session.username = user.username; console.log('set session username to: ' + req.session.username); // res.redirect('/stories'); res.send({redirect: '/stories'}); console.log('user logged in .. redirect to stories'); } else { console.log('user authentication badCredentials error..'); res.render('index', {badCredentials: true}); } }); }); 

Essaye ça

 if (loginUsername.length != 0) { console.log('there is a login: ' + loginUsername); // make an ajax call $.ajax({ dataType: 'json', data: AjaxLoginData, type: 'post', url:"http://localhost:4200/api/v1/users", success: (data, textStatus, jqXHR) -> if (typeof data.redirect == 'ssortingng') window.location.replace(window.location.protocol + "//" + window.location.host + data.redirect); error: foundError }); 

window.location.replace (…) simulera au mieux une redirection HTTP Comment redirect vers une autre page Web en JavaScript / jQuery?

Pour votre contenu ‘refreshStories’, vous devez simplement actualiser les histoires lorsque vous allez dans ‘/ stories’