快速响应采取请求方法

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

我正在使用Ajax进行DELETE,目前正在使用成功进行redirect。

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

并在我的快车路线

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

redirect问题为DELETE响应。 我试过设置req.method ='get'和res.method ='get'以上。 既没有工作。

有任何想法吗 ? : – /

       

网上收集的解决方案 "快速响应采取请求方法"

由于这是一个AJAX调用你不会更好的DELETE调用结束后从浏览器进行额外的调用吗? 通常redirect用于将浏览器redirect到一个新的url,但是由于这是一个Ajax调用,浏览器不会被redirect到任何地方。

如果你需要服务器来告诉哪里redirect,我会build议让删除的响应是这样的:

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

});