我正在使用Sequelize将数据添加到存储在MySQL中的User对象。问题是在对象的对象已更新后,我无法使页面重定向。
我尝试使用几种方法,包括客户端JS中的window.location.href =
和服务器端的res.redirect(303, '/home');
,以及这些代码的10-15种变化形式。
客户端JS:
$(document).ready(function () {
$(document).on("submit", "#tellusmore", function () {
var userData = {
firstname: $("#firstname").val().trim(),
lastname: $("#lastname").val().trim(),
email: $("#email").val().trim(),
bio: $("#bio").val().trim(),
}
console.log(userData);
updateUser(userData);
});
function updateUser(newData) {
$.ajax({
method: "PUT",
url: "/api/tellusmore",
data: newData
}).then(function() {
window.location.href = '/home';
})
}
})
服务器端:
app.post("/api/tellusmore", function (req, res, next) {
db.user.update({
firstname: req.body.firstname,
lastname: req.body.lastname,
about: req.body.bio,
email: req.body.email
}, {
where: {
username: req.user.username
}
}).on('success', function() {
res.redirect(303, '/home');
});
});
我想重定向到http://localhost:3000/home,但URL一直像这样返回:
http://localhost:3000/tellusmore?firstname=john&lastname=smith&email=johnsmith%40aol.com&bio=test+