gpt4 book ai didi

javascript - node.js/express 在不从当前页面重定向的情况下发出发布请求

转载 作者:搜寻专家 更新时间:2023-10-31 23:38:39 24 4
gpt4 key购买 nike

我有一个 node.js express 应用程序,它正在尝试发出发布请求并查询数据库的内容。我正在尝试执行发布请求,而不必从表单页面重定向用户或重新加载页面。

索引. Jade

form.well(id="newEntryForm", method="post", action="/addEntry")
label Key:
br
input(name="key", id="key", class="new-entry", type="textbox")
br
br
label Value:
br
input(name="value", id="value", class="new-entry", type="textbox")
br
br
button.btn(type="submit") Add Entry

应用程序.js

app.post('/addEntry', function(req, res){
//database query
});

这最终将我重定向到 URL localhost:3000/addEntry。我知道我可以在 post 方法的回调中添加 res.redirect("/");,但这会重新加载页面。如何在不重新加载页面的情况下完成此操作?

编辑

我添加了一个 javascript 方法来在提交表单时执行,但它最终会在 URL 栏上附加 POST 请求参数。我该如何避免这种情况?

Javascript 方法

$(function() {
$('#newEntryForm').submit(function() {
var data = {key: 'a', value: 'b'};
// build a json object or do something with the form, store in data
$.post('/addRule', data, function(resp) {
alert(resp);
console.log("post response: " + resp);
// do something when it was successful
});
});
});

最佳答案

正如评论所说,您需要使用客户端javascript+ajax。

$(function() {
$('#newEntryForm').submit(function(event) {
event.preventDefault(); // Stops browser from navigating away from page
var data;
// build a json object or do something with the form, store in data
$.post('/addEntry', data, function(resp) {
alert(resp);
// do something when it was successful
});
});
});

关于javascript - node.js/express 在不从当前页面重定向的情况下发出发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24193102/

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