Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.06.2020, 11:28
Новичок на форуме
Отправить личное сообщение для evgenomus Посмотреть профиль Найти все сообщения от evgenomus
 
Регистрация: 04.06.2020
Сообщений: 2

Функция next() (простой вопрос)
Почему не работает переход по функции next()?
Браузер постоянно делает запросы, страница загружается, в терминале Node.js вижу 'checkAuth() is TRUE'. Но переход по адресу не происходит.

function checkAuth() {
	return app.use((req, res, next) => {
		if (req.user) {
			console.log('checkAuth() is TRUE');
			next();
		} else {
			console.log('checkAuth() is FALSE');
			res.redirect('/');
		}
	});
}

app.get('/home', checkAuth(), (req, res) => {
	res.sendFile(__dirname + "/private/home.html")
});


А вот такая конструкция работает:
function checkAuth() {
	return app.use((req, res, next) => {
		if (req.user) {
			console.log('checkAuth() is TRUE');
			//next();
			res.sendFile(__dirname + "/private/home.html");
		} else {
			console.log('checkAuth() is FALSE');
			res.redirect('/');
		}
	});
}

app.get('/home', checkAuth(), (req, res) => {
	//res.sendFile(__dirname + "/private/home.html")
});
Ответить с цитированием
  #2 (permalink)  
Старый 05.06.2020, 09:22
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

function checkAuth(req, res, next) {
		if (req.user) {
			console.log('checkAuth() is TRUE');
			next();
		} else {
			console.log('checkAuth() is FALSE');
			res.redirect('/');
		}
}

app.get('/home', checkAuth, (req, res) => {
	res.sendFile(__dirname + "/private/home.html")
});


app.use(...) - повесить глобальный middleware
app.get('/', () => здесь router specific middleware

)
Ответить с цитированием
  #3 (permalink)  
Старый 05.06.2020, 11:13
Новичок на форуме
Отправить личное сообщение для evgenomus Посмотреть профиль Найти все сообщения от evgenomus
 
Регистрация: 04.06.2020
Сообщений: 2

Сообщение от SuperZen Посмотреть сообщение
app.use(...) - повесить глобальный middleware
app.get('/', () => здесь router specific middleware
Спасибо. Работает!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просмотрела исходик jQuery Откорректируйте где не верно taksebe jQuery 5 23.11.2018 22:42
Простой вопрос sedila jQuery 1 25.06.2012 07:32
Простой вопрос по JavaScript. Работа с датой. Помогите Hanuman Общие вопросы Javascript 3 30.07.2010 20:30
Простой вопрос onClick alex2001 Элементы интерфейса 3 11.07.2010 18:19
Простой вопрос - надо из скрипта перейти на ссылку Brother Общие вопросы Javascript 1 27.02.2008 09:50