У меня возникают проблемы при вызове экспресс-маршрута в моем приложении Node.js из Ajax при отправке формы.
Мой маршрут выглядит следующим образом:
router.post("/user", function(req, res) {
console.log("FORM DATA: " + JSON.stringify(req.body));
res.send('done!');
});
Мой вызов Ajaxвыглядит следующим образом:
$("#add-report-form").submit(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
uri: "/user",
contentType: "application/json",
data: JSON.parse(JSON.stringify($("#add-report-form").serializeArray())),
}).done(function(data) {
alert("ajax call done!");
});
});
В моем app.js есть app.use(bodyParser.json());
.
. Когда я отправляю свою форму, console.log в моем маршруте не запускается, и яне могу понять почему, кажется, что маршрут в не вызывается вообще.Любая помощь будет отличной!
Моя форма выглядит следующим образом:
<div class="modal-body">
<form id="add-report-form">
<div class="row">
<div class="col">
<label for="report-select">Report</label>
<select class="form-control" id="report-select" name="report">
<option>Select Report</option>
</select>
</div>
</div>
<div class="row modal-row">
<div class="col">
<label for="interval-select">Report Interval</label>
<select class="form-control" id="interval-select" name="interval">
<option>Select Interval</option>
</select>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" id="add-submit" class="btn btn-primary save-changes">Save changes</button>
</div>
</form>
</div>
РЕДАКТИРОВАТЬ:
Я также попытался выполнить Ajax для события нажатия кнопки, новсе равно не повезло, всплывает предупреждение, но маршрут по-прежнему не вызывается.
$("#add-submit").on("click", function(e) {
alert("this is the form submission");
e.preventDefault();
$.ajax({
type: "POST",
uri: "/user",
contentType: "application/json",
// data: JSON.parse(JSON.stringify($("#add-report-form").serializeArray())),
data: JSON.stringify({data: "test"}),
}).done(function(data) {
alert("ajax call done!");
});
});