У вас очень большое непонимание отношений между клиентом и сервером. E JS не может ничего "отправлять" куда-либо - я просто шаблонизатор. Он динамически создает строку HTML, которая позже используется Express для отправки в ваш браузер, как документ HTML (наряду с файлами / кодом JS, конечно). После этого E JS «перестает» существовать, так сказать.
Чтобы отправить данные от вашего JS прослушивателя событий, вам необходимо выполнить запрос AJAX к какой-либо конечной точке в вашем сервер, который затем будет использовать Sequelize для хранения его в БД. Я приведу вам пример:
Допустим, вы хотите зарегистрировать нового пользователя. Ваш JS:
$('#tree').on("changed.jstree", async function (e, data) {//Let's say you want to register a new user.
var v = $('#tree').jstree(true).get_json('#', { flat: true });
var newUserData = JSON.stringify(v);
fetch('http://localhost:8000/user', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: newUserData,
})
.then((response) => response.json())
.then((data) => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
});
Ваш маршрут express, где обрабатывается этот запрос:
app.post('/user', async function (req, res) {
try {
const newUserData = req.body;
const createdUser = await UserModel.create(newUserData)//This is where Sequelize comes into picture.
res.json({id:createdUser.id})
} catch (error) {
console.log(error)
res.sendStatus(500)
}
})