передача переменной в nodeJS - PullRequest
0 голосов
/ 27 июня 2019

Я не уверен, как он называется, и при ограниченном поиске я не нашел то, что искал, поэтому я объясню:

У меня есть логин маршрута, в котором я получаю 2параметры, ключ и callbackURL:

app.get('/login*', function (req, res) {
  var adr = url.parse(req.url, true)

  var key = adr.query.key
  var callbackURL = adr.query.callbackURL

  if (key == "key123") {
    res.render('index', { resp: '', callbackURL: callbackURL })
  } else {
    res.render('error')
  }
})

, поэтому, если ключ совпадает, он отображает index.ejs с пустым ответом и callbackURL.Есть ли способ, которым я могу передать этот callbackURL позже в «/ submit», когда пользователь пытается войти?отправить код:

app.post('/submit', function (req, res) {
  request.post({
    headers: { 'content-type': 'application/json' },
    url: <here to use callbackURL>,// <-- here
    body: { 'login': req.body.login, 'password': req.body.password },
    json: true
  },
    function (request, response) {
      if (response.statusCode == 200) {
        res.render('index', { resp: 'login succesfull' })
      } else {
        res.render('index', { resp: 'invalid login or password' })
      }
    })
})

1 Ответ

0 голосов
/ 27 июня 2019

Это другая функция, поэтому переменная недоступна.

Вам нужно было бы как-то передать его.

Вы можете передать его клиенту, когда вы визуализируете страницу (на самом деле вы уже передаете его методу рендеринга), затем поместить его в скрытый ввод в вашей форме и затем прочитать его из данных формы, когда вы Конечная точка отправки называется.

В качестве альтернативы вы можете сохранить его в сеансе, но это может быть связано с условиями гонки.

...