Express.jsアプリに更新機能を実装しようとしています。PUTリクエストを使用して新しいデータを送信したいのですが、PUTを使用してエラーが発生し続けます。私が読んだすべてのものから、それはapp.putを使用するだけの問題ですが、それは機能していません。私のルートファイルには次のものがあります:
send = function(req, res) {
req.send(res.locals.content);
};
app.put('/api/:company', function(res,req) {
res.send('this is an update');
}, send);
Postmanを使用してPUT要求を行うと、「cannot PUT/api/petshop」というエラーが表示されます。なぜPUTできないのか、何が悪いのか理解できません。
実際の更新機能が不足している可能性があります。結果をクライアントに返すputパスがありますが、データベースにデータを更新するように指示すると、一部が欠落します。
Mongodbとexpressを使用している場合、次のように記述できます。
app.put('/api/:company', function (req, res) {
var company = req.company;
company = _.extend(company, req.body);
company.save(function(err) {
if (err) {
return res.send('/company', {
errors: err.errors,
company: company
});
} else {
res.jsonp(company);
}
});
この スタックプロジェクトの意味 は、ここで使用したCRUD機能をカバーしているので、あなたの会社のために記事を交換するのに役立ちます。同じ同じ。
コールバック関数(req、res)の順序を変更します。 function(res、req)を使用しないでください。
また、put
またはdelete
(get
アドレスに)にリダイレクトする場合、通常のres.redirect('/path')
を使用することはできません。res.redirect(303, '/path')
。 ( ソース )
そうでない場合は、Cannot PUT
エラー。