2016-11-23 2 views
0

私の明示的なアプリケーションを書いています。私はこのエラーに遭遇しました。明示的に4.14を使用して、私は何をすべきかわからない、それはステータスを探しているが、私はそれに現在ステータスを与えていない。彼らのドキュメントを見ているイベントは、彼らの例のルートで状態を伝えません。ここでres.redirect(url、status):res.redirect(status、url)を使用します。

express deprecated res.redirect(url, status): Use res.redirect(status, url) 

が私のコードです:

router.post("/event", isLoggedIn, function (req,res){ 
// get data from form and add to events array 
var title = req.body.title; 
var date = req.body.date; 
var description = req.body.description; 
var venue = req.body.venue; 
var photo = req.body.photo; 
var category = req.body.category; 
//get user data to save to the user 
var owner = { 
    id: req.user._id, 
    username: req.user.username 
} 

var newEvent = {category: category, title: title, date: date, description: description, venue: venue, photos:{link: photo,date: date}, owner: owner}; 
Event.create(newEvent, function(err, event){ 
    if(err){ 
     console.log(err) 
    } else { 
     //This takes the event owner ID and saves it into the model 
     event.owner.id = req.user._id; 
     //This takes the event username and saves it into the model 
     event.owner.username = req.user.username; 
     event.save(); 
     console.log(event); 
     res.render('events',{events: event});  } 
}) 

})

+1

を、あなたのアプリケーション内の任意のコードを持っていますかそれは 'redirect'メソッドを使用していますか?提供されたサンプルでは、​​リダイレクトは使用されていません。 – drinchev

+0

OH、はい私は、最後の行をレンダリングではなくリダイレ​​クトする必要があると思います。 – illcrx

答えて

0

私のプロジェクトでは、私はいつもそれをこのように行っている:

function(req, res) { 
    res.status(301).redirect('http://google.com') 
} 
+0

これはリダイレクトルートのためのものですか?また、リダイレクトとレンダリングをもう一度レンダリングするのもなぜですか?私はその違いについてちょっと混乱しました。 – illcrx

+0

あなたのケースでは、/イベントPOSTでイベントビューをレンダリングしてエンドユーザを混乱させ、理想的ではないため、最善の解決策は(イベントなしで)/イベントにリダイレクトされます –