0
我正在嘗試創建一個簡單的node.js程序來輸入,更新和刪除人員的「名稱和作業」記錄,並在瀏覽器中顯示相同內容。我在使用node.js,mongo和jade。
Mongo不能使用node.js程序
以下是我server.js文件(在 「/基地」 文件夾):
var express= require("express"),
http= require("http"),
bodyparser= require("body-parser"),
mongo= require("mongodb");
var app= express();
db= new mongo.Db("newapp", new mongo.Server("127.0.0.1", "27017"),
{safe:true}, {auto_reconnect: true});
var people= db.collection("people");
app.use(bodyparser.urlencoded({extended: true}));
app.get("/", function(req, res){
people.find().toArray(function(err, docs){
if(err)
throw err;
res.render("index.jade", {people: docs});
});
});
app.post("/", function(req, res){
people.insert({name: req.body.name, job: req.body.job},
function(err, doc){
if(err)
throw err;
res.redirect("/");
});
});
app.get("/update/:id", function(req, res){
people.findOne({_id: new mongo.ObjectID(req.params.id)},
function(err, doc){
if(err)
throw err;
res.render("update.jade", {person: doc});
});
});
app.post("/update/:id", function(req, res){
people.update({_id: new mongo.ObjectID(req.params.id)},
{
name: req.body.name,
job: req.params.job
}, function(err, item){
if(err)
throw err;
res.rediect("/");
});
});
app.get("/delete/:id", function(req, res){
people.remove({_id:new mongo.ObjectID(req.params.id)},
function(err){
if(err)
throw err;
res.redirect("/");
});
});
app.listen("3000", function(){
console.log("Now Listening on port: 3000");
});
我有一個index.jade文件(在 「/基/視圖/」 子文件夾) :
form(method="POST")
p Name:
input(type="text", name="name")
p Job:
input(type="text", name="job")
p: button Add
if(typeof(people)!=="undefined")
ul
each person in people
li
h2= person.name+ " ("+ person.job+ ")"
p
a(href="/update/#{person._id}") Update
a(href="/delete/#{person._id}") Delete
else
p No People
我update.jade文件(在 「/基/視圖/」 子文件夾)是:
form(method="POST")
p Name:
input(type="text", name="name", value="#{person.name}")
p Job:
input(type="text", name="job", value="#{person.job}")
p: button Update
當我做本地主機:在瀏覽器3000,它說
GET http://localhost:3000/ net::ERR_CONNECTION_REFUSED
任何幫助非常感謝,非常感謝!
首先所有支票mongo正在運行或不運行。 然後改變「localhost」而不是「127.0.0.1」 ,並確保端口3000是免費的!它應該是號碼 – 2015-02-23 13:30:58
嗯,做了所有這些變化,mongo正在運行,3000端口是免費的;同樣的錯誤:加載資源失敗:net :: ERR_CONNECTION_REFUSED – 2015-02-23 13:38:42
請檢查您的端口3000是否已經綁定 - using -''netstat -an | grep LISTEN | grep -v^unix'' – 2015-02-23 13:41:41