2015-01-27 1 views
0

Я использую следующий маршрут, который принимает параметры в URL:Как изменить req.param если req.param === неопределенных

app.get('/:lang', function(req, res) { 

}); 

Я подтолкнет значение Ланга и отправить функции, но я хочу иметь возможность использовать/если пользователь не вводит никаких параметров.

Я пытался:

if (req.param('lang') === undefined) { 
req.param('lang') = 'pt'; 
}); 

Но .. GET/404 2мс - не существует ..

+0

Это может быть связаны между собой, но вы можете изменить это что-то вроде: 'вар LANG = req.param ('язык') || 'pt'; ' – TheIronDeveloper

+0

, но URL-адрес не изменяется, все еще 404 .. –

+0

Мне нужно изменить lang в url .., если я ничего не получаю в качестве параметра, используйте/.. –

ответ

1

Вы никогда не добраться до этого обработчика маршрута, потому что '/' маршрут не будет совпадать, вы должны использовать необязательные параметры в вашем случае. Рассмотрим следующее.

app.use('/:lang?', function (req, res) { 
    var lang = req.params.lang || 'pt'; 
    // do your stuff with the lang var 
    }); 

и проверить express docs

+0

Ницца! Работает 100%. Могу я спросить вас кое о чем? Если я использую req.param ('lang') = req.param ('lang') || 'PT'; не работает .. Почему ??? haha –

+2

Я удивлен, что вы не ошиблись, пытаясь это сделать. Вы вызываете функцию, возвращающую значение для 'req.param.lang', которое вы не можете назначить таким образом. Вы должны получить ошибку «недействительной левой руки». – Nindaff

+0

эта ошибка не появляется, но теперь я заметил, что застрял в «pt». hahaha –

Смежные вопросы