2017-10-24 3 views
0

POSTとPUTが同じFORMを参照しています。 POSTボタンとPUTの両方がFORMのアクションである同じルート名を持っているため、POSTリクエストを処理中です。PUTを実装するにはどうしたらいいですか?putがexpress jsで動作しない

//App.js

app.post('/addClassified',routes().saveClassified); -- POST 
app.put('/addClassified',routes().updateClassified); -- PUT 

app.get('/newClassified',function(req,res){ 
    res.render('newClassifieds'); //Rendering form 
}); 

// newClassifieds.pug

// Method and action of FORM 

form(method='POST' action='/addClassified') 
    button.btn.btn-primary(type='submit') Save 

//routes.jsルート

//保存分類 - POST

functions.saveClassified = function (req, res) { 
    console.log(req.body.category); 
}; 

// PUT - 更新分類

functions.updateClassified = function (req, res) { 

}; 
+3

[Expressおよびノー​​ドでHTMLフォームからのput要求を送信する方法]の複製が可能です(https://stackoverflow.com/questions/12765431/how-to-send-a-put- Express-and-NodeからのHTML形式のリクエスト) – MikaS

答えて

1

あなたは、HTML5はあなたがこれらの手順に従うことができるアクションをPUT実装する必要がありますので、もし唯一の形態でGETとPOSTができますことを知っている必要があります。

私はPUTを実装するにはどうすればよいですか? 1.「method-override」npmパッケージをインストールします。 2.-あなたはこのようなあなたのapp.jsに呼び出す必要があります:

`var methodOverride = require("method-override"); 
app.use(methodOverride("_method"))` 

このようなあなたのアクションフォームの '_method = PUT' 3-追加:

form(method='POST' action='/addClassified/<%=thing._id%>?_method=PUT')

は私を聞かせてあなたが他のものを必要とするかどうかを知る

関連する問題