gpt4 book ai didi

node.js - Express response 采用request方式

转载 作者:可可西里 更新时间:2023-11-01 16:37:52 25 4
gpt4 key购买 nike

我正在尝试从 DELETE 请求中获取响应

我正在使用 Ajax 进行删除,目前正在使用成功进行重定向。

$("#delete-account").click(function() {
$.ajax({
url: '/user',
type: 'DELETE',
success: function() {
window.location='/user/new';
},
error: function(error) {
console.log(error);
}
});
});

在我的 Express 路线上

router.delete('/', pass.isAuthenticated, function(req, res) {
User.remove({_id: req.user._id}, function(err){
if(err) return console.log(err);
req.flash('success', 'Your account has been deleted.');

res.redirect('/user/new'); <----------- this redirects to DELETE(/user/new)

});
});

重定向问题作为 DELETE 响应。我试过在上面设置 req.method = 'get' 和 res.method = 'get' 。两者都不起作用。

有什么想法吗? :-/

最佳答案

因为这是一个 ajax 调用,在 DELETE 调用结束后从浏览器进行额外的调用不是更好吗?通常重定向用于将浏览器重定向到新的 url,但由于这是一个 ajax 调用,浏览器不会被重定向到任何地方。

如果您需要服务器告诉重定向到哪里,我建议删除的响应类似于:

router.delete('/', pass.isAuthenticated, function(req, res) {
User.remove({_id: req.user._id}, function(err){
if(err) return console.log(err);
req.flash('success', 'Your account has been deleted.');

res.send('/user/new'); <----------- Return location of new page

});
});

然后你的客户会做:

$("#delete-account").click(function() {
$.ajax({
url: '/user',
type: 'DELETE',
success: function(data) {
window.location=data;
},
error: function(error) {
console.log(error);
}
});

});

关于node.js - Express response 采用request方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25351870/

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