var express = require('express');
var firebase = require('firebase');
var admin = require('firebase-admin');
var router = express.Router();
router.post('/api/login', function(req, res) {
var email = req.body.email;
var pass = req.body.password;
login(email, pass);
});
function login(email, pass){
firebase.auth().setPersistence(firebase.auth.Auth.Persistence.NONE);
firebase.auth().signInWithEmailAndPassword(email, pass).then(function (user) {
if(user){
console.log('user');
res.redirect('/signup');
};
}).then(() => {
// A page redirect would suffice as the persistence is set to NONE.
return firebase.auth().signOut();
}).then(() => {
window.location.assign('/signup');
}).catch(function (error) {
var errorMessage = error.message;
}); // auth catch End
};// login fun
............................................... ................................................... ................................................... ...... 如果用户不等于null,那么我想将用户重定向到注册
答案 0 :(得分:0)
如果POST请求来自浏览器网页中的Ajax调用,则对该请求的响应仅发送给进行Ajax调用的脚本。浏览器根本看不到它,因此浏览器本身对POST的响应不执行任何操作。响应只是转到您的脚本。因此,如果要在Ajax调用后重定向页面,则需要返回脚本可以识别的响应,然后脚本需要执行客户端重定向,例如:
window.location = "http://someURL";
如果您的脚本正在寻找重定向响应,则可以让脚本查看状态和标头以查看重定向,也可以,而是返回一些JSON来告诉脚本该怎么做。
如果POST请求来自浏览器中的HTML表单(不涉及Javascript),则浏览器将查看POST的响应并显示结果响应(如果为2xxx响应),或者遵循重定向(如果这是一个3xx的响应。