2016-09-12 3 views
0

у меня есть Node.js файл, отправить данные в мой index.ejs файл, как так:JQuery .load() страницы с экспресс-JS

app.get('/', function (req, res) { //send the varibles to html file 
    res.render('index', { 
     title: 'Personal info', 
     data: arr 
    }); 
}); 

Я хочу индексный файл, чтобы иметь HTML-страницу (страницу .ejs), загруженные в него с использованием функции jquery .load(). Но вот в чем проблема. На загруженной странице необходимо отобразить информацию, но если я перенаправляю данные на нее (res.render('page',), браузер просто покажет мне файл page.ejs. Как я могу установить localhost: 3000 загрузить индекс, иметь индексную нагрузку page.ejs и показать page.ejs данные?

ответ

2

Насколько я понимаю, вы пытаетесь запросить файл page.ejs, файл с частичным шаблоном через AJAX (используя jQuery) или хотите каким-либо образом включить его.

Вариант 1: Вы можете включать в себя частичный файл через <%- include page.ejs %> в ваших index.ejs который будет включать в себя ваши page.ejs с самого начала. Это означает, что он будет вставлен на сервер, и данные обоих файлов будут отправлены клиенту в виде одного файла.

Вариант 2: Или вы создаете еще один контроллер маршрута, в котором вы предлагаете контент page.ejs как HTML или JSON. Таким образом, клиент сначала получит содержимое index.ejs и запросит содержимое ассемблера page.ejs.

Как-то так:

стороне сервера:

app.get('/page', function (req, res) { 
    res.render('page'); 
}); 

стороне клиента:

$('#result').load('/page'); 
Смежные вопросы