2015-08-06 2 views
1

У меня есть форма с входом:nodejs поместить данные в вход

<label for="email">Email:</label> 
<input class="form-control" name="email" id="email" value=""> 

В моей функции NodeJS: (Я ищу в моей базе данных с идентификатором и я восстановить его по электронной почте)

models.User2.findOne({_id: idusersession}) 
      .then(function (content) { 

      var mail = content.email; 
}); 

Я хочу поставить эту переменную почту на мою HTML-страницу. Таким образом, когда вызывается HTML-страница, данные автоматически добавляются в мой ввод.

Я пробовал:

document.getElementByID("email").value = mail; 

Но не успех. По-видимому, document.getElementByID() не существует в NodeJS.

+0

ли вы пытаетесь, чтобы сделать HTML от сервера? Если да, я рекомендую вам обратить внимание на движки шаблонов, такие как swig, усы, нефрит и т. Д. Вам нужно указать путь к файлу (путь к вашему HTML) и использовать специальный синтаксис в вашем HTML (в соответствии с выбранным движком шаблона). Пожалуйста, проверьте приведенные ниже ссылки: [jade] (http://expressjs.com/guide/using-template-engines.html) [swig] (http://paularmstrong.github.io/swig/docs/) [усы] (https://github.com/janl/mustache.js) –

ответ

0

Для достижения этой цели вы должны использовать Node.jstemplate engines. По каждому запросу Node.js будет генерировать HTML-код из ваших шаблонов на сервере и отправлять его в браузер с любыми значениями из MongoDB непосредственно в тегах HTML или в встроенном JavaScript-коде, чтобы он мог быть установлен JavaScript в браузере (что вы пытались сделать в вашем примере).

Вот пример использования EJS шаблонов https://scotch.io/tutorials/use-ejs-to-template-your-node-application

Альтернативный подход заключается в обслуживании данных с Node.js RESTful API и доступ к нему из вашего HTML с XMLHttpRequest

+0

Спасибо за ваш ответ. Я использую шаблоны EJS ... и это прекрасно. – Quentin

+1

Большое вам спасибо за помощь. Ваше решение с шаблоном EJS интересно. – Quentin

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