【发布时间】:2016-04-01 19:14:04
【问题描述】:
我使用 Backbone、Node、MongoDB 和 Express 创建了这个应用程序来学习。 POST 请求工作得很好,但由于某种原因,PUT 和 DELETE 请求的发送延迟很大,而且它们似乎被拒绝了。我检查并重新检查,似乎没有任何问题,根据控制台,请求是我期望的。
这是我的中间件代码,包括方法覆盖:
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(methodOverride()); //so we can receive DELETE requests
以下是分别处理 PUT 和 DELETE 的服务器函数:
router.put('/api/dogs/:id', function(req, res) {
mongo.db()
.collection('dogs')
.update({_id: req.params.id}, req.body, function (err) {
if (err) {throw err;}
});
});
router.delete('/api/dogs/:id', function(req, res) {
mongo.db()
.collection('dogs')
.remove({_id: req.params.id}, function (err) {
if (err) {throw err;}
});
});
以及分别发出 PUT 和 DELETE 请求的视图函数,以防万一:
close: function (ev) {
var $input = $(ev.target);
var value = $input.val().trim(); //we trim the value of the input
var data = {};
data[$input.attr('name')] = value;
this.model.set(data);
this.model.save();
},
clear: function () {
this.model.destroy();
}
有人能看出什么问题吗?
非常感谢!
【问题讨论】:
标签: node.js mongodb express backbone.js put