私はテスト目的のためにいくつかのダミーデータをMongoコレクションに追加するためのフォームを構築しました。データを追加する機能は正常に動作しているようですが、データが正常に追加されているようですが、何らかの理由で機能の最後にあるリダイレクトコマンドが機能していません。このデータは、標準的なHTML形式のものです。ここでは、データを追加するためのコードは次のとおりです。ノード/ Javascriptリダイレクトが機能しない?
router.post('/addacc',function(req,res){
var sljEdate = "";
var pljEdate = "";
var MongoClient = mongodb.MongoClient;
var url = 'mongodb://localhost:27017/stc';
MongoClient.connect(url,function(err,db){
if(err){
console.log("Connection Error");
}else{
console.log("connected to mongo");
var collection = db.collection('account');
var query = {accountID: req.body.acc_id,companyName: req.body.acc_name,companyEmail:req.body.acc_email,companyPhone:req.body.acc_phone,companyPostCode:req.body.acc_postcode,
photographers: {phtID:"",phtName:"",phtPhone:"",phtEmail:"",phtLoc:"",preferredContact:"",lastJob:"",pljEpoch:pljEdate,phtNotes:""},
schools: {schoolID:"",schoolName:"",schoolPhone:"",schoolEmail:"",schoolPostCode:"",lastJob:"",sljEpoch:sljEdate,notes:""}};
collection.insert(query,function(err,result){
if(err){
console.log("Error inserting Account record",err);
}else{
console.log("Data Insert Success");
res.redirect("/forms");
}
db.close();
});
}
});
});
私は進歩し、それらの最終「データ挿入の成功」1を含むすべての火を、チェックすることができるようにいくつかの場所でコンソールにログインするための行を追加しました。しかし、それに続くres.redirectは何もしません。ブラウザではURLは '/ addacc'のままですが、ノードコンソールには '/ forms' URLの後続GETが表示されます。
リダイレクトにはいくつかのバリエーションを試しました。 res.send( "test")何かを試して出力するだけです.res.render関数もありますが、どれも動作していないようです。
私は何か簡単なことを忘れてしまったと確信していますが、私はあまりにも長くコードを見つめていて、何か間違っているとは思えません。実際には、私はほとんど同じコードが何度も働いていました。私が今回は別のことをしているのは、埋め込まれたドキュメントを含むMongoコレクションに挿入することですが、データの挿入に問題はありません。
お願いします!
POSTリクエストをリダイレクトするのは少し違うと思います。参照してください:http://stackoverflow.com/questions/17612695/expressjs-how-to-redirect-a-post-request-with-parameters – MrWillihog
これは興味深い、有用です、ありがとう。私はもう少しプレイをして、それがどこにでも入るかどうかを見ます。 – Drum