Как передать переменную в express маршрутов? - PullRequest
0 голосов
/ 25 февраля 2020

Я создаю веб-сайт, на котором мне нужен идентификатор, переданный на маршрут express. У меня есть кнопка (id = 'Approve_appln'), которая выбирает маршрут. javascript включает следующее:

var appr_appln = document.getElementById('approve_appln');
appr_appln.addEventListener('click', function(e) {
  var approve_id = appr_appln.getAttribute('data');
  fetch('/approved', {method: 'POST'})
    .then(function(response) {
      if(response.ok) {
        alert(approve_id);

        return;
      }
      throw new Error('Request failed.');
    })
    .catch(function(error) {
      alert('error');
    });
});

Мне нужно передать переменную Approve_id в маршрут / Approved . Теперь маршрут пуст:

app.post('/approved',function(req,res){


});

Как передать переменную Approve_id , чтобы ее можно было использовать для ссылки на конкретный объект в моей базе данных?

1 Ответ

1 голос
/ 25 февраля 2020

К вашей конечной точке может быть прикреплен идентификатор, например:

app.post('/approved',function(req,res){


});

должно быть

app.post('/approved/:id',function(req,res){
  const id = req.params.id // This is how you access URL variable
});

Имейте в виду :id здесь есть переменная, которую можно заменить на фактический идентификатор при запросе с URL. например, вы можете сделать что-то вроде этого `` `http://localhost/approved/1231451324123

, поэтому, чтобы следовать вашему примеру, вы можете просто отправить идентификатор с URL, выполнив что-то вроде этого


var appr_appln = document.getElementById('approve_appln');
appr_appln.addEventListener('click', function(e) {
  var approve_id = appr_appln.getAttribute('data');
  fetch(`/approved/${approve_id}`, {method: 'POST'})
    .then(function(response) {
      if(response.ok) {
        alert(approve_id);

        return;
      }
      throw new Error('Request failed.');
    })
    .catch(function(error) {
      alert('error');
    });
});

примечание Я только изменил эту строку fetch('/approved', {method: 'POST'}) Я заменил одинарные кавычки ' на `, чтобы мне было проще объединять. также ${} означает, что я могу добавить любой КОД в эти скобки.

Удачи, если вам нужно больше объяснений, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...