gpt4 book ai didi

javascript - 如何在Ajax中调用Express路线?

转载 作者:行者123 更新时间:2023-12-02 23:45:18 25 4
gpt4 key购买 nike

提交表单时,我在从 Ajax 调用 Node.js 应用程序中的 Express 路由时遇到问题。

我的路线如下:

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!");
});
});

最佳答案

问题可能是拼写错误。尝试使用“url”而不是“uri”:

$.ajax({
type: "POST",
url: "/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!");
});

关于javascript - 如何在Ajax中调用Express路线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55885739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com