我在一个项目中使用 json-server(基于 express)和 gulp-json-srv。我有以下“customRoute”:
'/deletefavorites': {
method: 'POST',
handler: function(req, res, next) {
req.method = 'DELETE';
var arr = req.body;
for (var i = 0; i < arr.length; i++) {
req.url = '/favorites/' + arr[i];
res.redirect(req.url);
}
}
}
数组 req.body 只保存“收藏夹”的 id。所以 req.body 看起来像这样:
{[
"id": "123",
"id":"124",
...
]}
问题是重定向只重定向这个请求一次然后出错。这意味着我只能删除一条记录,而且它也不处理“方法”,因为我只能在重定向中发送 URL。
我想要的是这样的:
for (var i = 0; i < arr.length; i++) {
req.url = '/favorites/' + arr[i];
app.handle(req, res, next);
}
next();
使用新参数。这样的事情可能吗?我搜索了许多相关的堆栈溢出问题,但我发现的唯一解决方案是在其中使用 xhr 请求,但我认为 express 应该有办法处理这个问题?