Манипулировать данными, полученными с сервера, в html-файл (используя Node.js и Express)

0

Этот вопрос следует этому: Получите данные из Node.js через Express.

У меня есть сервер с Node.js, и я использую Express для создания веб-приложения. Мой сервер уже может создавать массив из базы данных с помощью функции (rss_interrogDB). Теперь я хочу использовать этот массив для отображения списка на странице html. У меня уже есть скрипт в моей странице html, который может создать список из заданного массива.

Но моя проблема в том, что я не знаю, чтобы html файл мог использовать этот массив в этой функции...

У меня это на моем сервере код:

 app.get('/', function(req, res) { 
 rss_interrogDB(function(serverData) {
    res.send(serverData);             
 });
 });

И это в моем html файле:

 $.get('/').success(function(serverData) {
    // TO DO something with serverData
 }).error(function(serverData, status) {
    // error handling
 });

Но, делая это, html сразу отображает массив, хотя я хочу использовать его для построения кода html... Является ли pb в res.send(serverData)? Что мне нужно написать в части "TO DO something with serverData" в html файле?

Теги:
express

1 ответ

2
Лучший ответ

EJS http://embeddedjs.com/ - хороший подход. В вашем сообщении не отображается массив, который вы хотите использовать, так что вот пример с домашней страницы EJS. Скажем, у вас есть следующий объект:

var myObject = { title:'Cleaning Supplies', supplies:['mop','broom','duster'] }

Затем вы можете написать файл шаблона, который в основном представляет собой HTML код JavaScript, встроенный в теги (аналогично тому, как работает PHP), для циклического перехода по вашему массиву:

<ul>
<% for(var i=0; i<supplies.length; i++) {%>
   <li><%= supplies[i] %></li>
<% } %>
</ul>

Обратите внимание, что нет тега script.

Затем вы настроите модуль ejs в узле и скажете ему, чтобы визуализировать представление с вашим объектом:

app.get('/my/url', function(req, res, next){
  res.render('template.ejs', myObject );
});

И это создаст html, который будет отправлен в браузер:

<ul>
   <li>mop</li>
   <li>broom</li>
   <li>duster</li>
</ul>

Вот более подробный пример: http://superbigtree.tumblr.com/post/62759231807/a-simple-example-application-using-express-ejs-and

  • 0
    Спасибо, очень полезно!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню