Необходимо передать данные в базу данных MongoDB через модальное диалоговое окно без открытия другой страницы. Код следующий:
<dialog class="mdl-dialog dialog">
<div class="mdl-dialog__title">
<h6>Редактирование организации</h6>
</div>
<div class="mdl-dialog__content">
<form action="/company" method="put" id="edit">
<div class="mdl-textfield mdl-js-textfield">
<input class="mdl-textfield__input" type="number" name="_id" value="" placeholder="<%= company[i]._id %>" maxlength="10" readonly>
<input class="mdl-textfield__input" type="text" name="fullTitle" value="" placeholder="Полное наименование">
<input class="mdl-textfield__input" type="text" name="title" value="" placeholder="Наименование">
<input class="mdl-textfield__input" type="number" name="cpp" value="" placeholder="КПП" maxlength="9">
<input class="mdl-textfield__input" type="number" name="ls" value="" placeholder="Лицевой счёт">
</div>
</div>
<div class="mdl-dialog__actions mdl-dialog__actions--full-width">
<button type="submit" class="mdl-button">Сохранить</button>
<button type="reset" class="mdl-button close">Отмена</button>
</div>
</form>
</dialog>
Скрипт:
<script>
var dialogE = document.querySelector('.dialog');
var showDialogButton = document.querySelector('.editing');
if (! dialogE.showModal) {
dialogPolyfill.registerDialog(dialogE);
}
showDialogButton.addEventListener('click', function() {
dialogE.showModal();
});
dialogE.querySelector('.close').addEventListener('click', function() {
dialogE.close();
});
</script>
При нажатии на кнопку "Сохранить" выводится ошибка: Cannot GET /company
Код редактирования:
app.put('/company/:id', (req, res) => {
const id = req.params._id;
const details = { '_id' : new ObjectID(id) };
const company = {
_id : req.body._id,
fullTitle : req.body.fullTitle,
title : req.body.title,
cpp : req.body.cpp,
ls : req.body.ls
}
db.collection('company').update(details, company, (err, result) => {
if (err) {
res.send ({'error' : 'An error has occured'});
} else {
res.send (company);
}
});
});
Код Get запроса:
app.get('/', (req, res) => {
db.collection('company').find().toArray((err, item) => {
if (err) {
res.send({'error':'An error has occurred'});
} else {
res.render('index.ejs', {company: item})
}
});
});
Использую Node.js, MongoDB. Есть ли вообще такая возможность?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости