Използвам Node.js като страна на сървъра с express и Twitter Bootstrap като преден край. Страницата има диалогов прозорец с форма и бутон за изпращане; формулярът се изпраща чрез Jquery Ajax покана за не презареждайте страницата след отговора от node.js сървъра. Ето три стъпки, които бих искал да направя:
page.ejs
<table id="tblProgs" class="table table-bordered table-hover table-striped dataTable">
<thead>
<tr>
<th>
Column
</th>
</tr>
</thead>
<tbody>
<% datas.forEach(function(data) { %>
<tr>
<th width="15%">
<%- data._column %>
</th>
</tr>
<% }) %>
</tbody>
</table>
Ajax съдържание, което също е в тялото на page.ejs
$('#formId').submit(function (e){
e.preventDefault();
$.ajax({
type: 'POST',
data: JSON.stringify(data),
cache: false,
contentType: 'application/json',
datatype: "json",
url: '/route/to/nodejs',
success: function (result) {
console.log("Here are the response in json format: " + result);
}
});
});
URL адресът /route/to/nodejs
извиква тази функция:
Функция, извикана в node.js сървър:
query = "SELECT * FROM table_name";
sequelize.query(query, {
type: sequelize.QueryTypes.SELECT
}).success(function (result) {
var response = {
data : result,
}
res.send(response);
}).catch(function (error) {
res.render('server-error', {
user: user,
session: req.session,
error: error
});
});
Въпросът ми е: как да обновя табличните данни в page.ejs при успешно обратно извикване на ajax без презареждане на страницата?
Благодаря!