Backbone + Express:PUT 和 DELETE 请求失败
Backbone + Express: PUT and DELETE requests fail
我的 Backbone 应用程序有一个销毁 Backbone.Model
的按钮。
我尝试通过 Postman 明确触发 DELETE
,但它告诉我它不能 DELETE /stuff/0
.
我可以成功 GET
和 POST
,但不能 PUT
或 DELETE
。
这是我的 DELETE
服务器代码:
var app = express();
...
app.delete('/stuff:id', function(req, res) {
var id = req.params.id;
var thing = mystuff[id];
mystuff = mystuff.splice(id, 1);
res.send('deleted ' + thing);
});
我的 PUT
和 DELETE
函数甚至都没有输入。
顺便说一句,这不是表格,所以我认为我不需要 methodOverride
。
这是怎么回事?这是我的服务器代码还是我的应用程序的问题?
您的路线有错别字:
app.delete('/stuff:id', function(req, res)
应该是:
app.delete('/stuff/:id', function(req, res)
如果我没记错的话,Backbone 还希望您在删除完成时呈现已删除模型的 Id。
res.send(req.params.id);
我的 Backbone 应用程序有一个销毁 Backbone.Model
的按钮。
我尝试通过 Postman 明确触发 DELETE
,但它告诉我它不能 DELETE /stuff/0
.
我可以成功 GET
和 POST
,但不能 PUT
或 DELETE
。
这是我的 DELETE
服务器代码:
var app = express();
...
app.delete('/stuff:id', function(req, res) {
var id = req.params.id;
var thing = mystuff[id];
mystuff = mystuff.splice(id, 1);
res.send('deleted ' + thing);
});
我的 PUT
和 DELETE
函数甚至都没有输入。
顺便说一句,这不是表格,所以我认为我不需要 methodOverride
。
这是怎么回事?这是我的服务器代码还是我的应用程序的问题?
您的路线有错别字:
app.delete('/stuff:id', function(req, res)
应该是:
app.delete('/stuff/:id', function(req, res)
如果我没记错的话,Backbone 还希望您在删除完成时呈现已删除模型的 Id。
res.send(req.params.id);