Сомневайся с GET посылая данные

У меня есть список пользователей:

<link>user1<link>
<link>user2<link>
<link>user3<link>
.
.
etc.

Когда я нажимаю на эти ссылки, унифицированный указатель ресурса меняется, например: miAplicacion/user1, miAplicacion/user2... и так далее.

На моем сервере у меня есть уже статические GET для пользователей:

app.get('/user1', function(req, res, next) {
app.get('/user2', function(req, res, next) {
app.get('/user3', function(req, res, next) {

Как делать это динамическим, вместо статического?

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

1
задан 25.01.2017, 02:51
0 ответов

Попробуй это:

app.get('/user/:id', function(req, res) {
   var idUser = req.params.id;
});

Вместо того, чтобы иметь несколько функций app.get(), лучше remplazalas из-за только одной. в нее оно функционирует наверху только ты должен перемещать его id пользователя, которого ты хочешь, тогда ссылки должны бы быть такими: /user/1 или /user/238. В любом случае переменная 'idUser' была бы должна возвращать id, который ты перемещаешь его из-за унифицированного указателя ресурса.

1
ответ дан 03.12.2019, 17:31
  • 1
    ты объясняешь мне во всех деталях porfavor, –  25.01.2017, 02:58
  • 2
    Чтобы видеть, Вместо того, чтобы иметь несколько функций app.get (), лучше замени их только одной. в нее оно функционирует наверху только ты должен перемещать его id пользователя, которого ты хочешь, тогда соединения deberí an быть таким:/user/1 или/user/238. В любом случае переменная idUser deberí когда id возвращает, что ты переместил его из-за унифицированный указатель ресурса . –  25.01.2017, 03:03
  • 3
    я это протестирую и я комментирую тебе –  25.01.2017, 03:05
  • 4
    Это не магия. То, что он делает express, просто mapear listener в /user, но когда он определяет qué маршрут использовать, во внутреннем, сначала проверяет, если petició n выемка имеет pará метры, así смоги дифференцировать /user из /user/algo. Суффикс id использован внутри, чтобы это присоединять к pará полученный метр и помещать это в объект Request из Express, así ты можешь получать это ví в request.params.id. –  25.01.2017, 03:28
  • 5
    @guzgarcia какое-то соединение porfavor я хочу знать об этом –  25.01.2017, 05:02

Было бы достаточно определять единственный endpoint на сервере, который получает динамические параметры. endpoint должен бы быть чем-то в специфическом средстве, например endpoint для пользователей, как в твоем случае, для node js express был бы чем-то как:

app.get('/user/:id', (req, res) => {
  const id = req.params.id;
  db.findById(id, (err, user) => {
    if(err) return res.status(500).end('Error ocurred on querying db');
    // Renderizar algun template de usuarios:
    return res.status(200).render('user_template', user.toJSON());
  });
});

Таким образом, любой маршрут, попросивший, чтобы он выполнил главный файл /user/something из-за метода GET ею будет манипулировать endpoint наверху. Для большей информации, консультируй документацию express.

Относительно стороны одинокого клиента ты должен определять форму, чтобы способствовать тому, чтобы твои пользователи вошли в выражение endpoint, уже будьте посредством соединений:

<a href="/user/1">User 1</a>

или посредством ajax:

$.ajax({
  url: '/user/' + id,
  type: 'GET',
  .
  .
  .
});
1
ответ дан 03.12.2019, 17:31