2015-05-22 48 views
0

一個非常簡單的網頁... server.js無法發佈到App

var path = require("path"); 
var express = require("express"); 
var app = express(); 
var bodyParser = require("body-parser"); 
app.listen(8000, function() { 
    console.log("listening on port 8000"); 
}) 
app.use(bodyParser.urlencoded()); 
app.use(express.static(path.join(__dirname, "./static"))); 
app.set('views', path.join(__dirname, './views')); 
app.set('view engine', 'ejs'); 
app.get('/', function(req, res) { 
res.render('index'); 
}) 
var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/basic_mongoose'); 
var QuoteSchema = new mongoose.Schema({ 
    name: String, 
    quote: String 
}) 
var Quote = mongoose.model('Quote', QuoteSchema); 

app.post('/quotes', function(req, res) { 
    console.log("POST DATA", req.body); 
    var quote = new Quote({name: req.body.name, quote: req.body.quote}); 

    quote.save(function(err) { 
     if(err) { 
      console.log('something went wrong'); 
     } else { 
      console.log('successfully added a quote!'); 
     res.redirect('/main'); 
     } 
    }) 
}) 

index.ejs

<html> 
<head> 
<title></title> 
</head> 
<body> 
    <div id='container'> 
     <h2>Welcome to Quoting Dojo</h2> 
     <form action='/quotes' method='post'> 
      <p>Your Name: <input type = 'text' id ='name'/><p> 
      <p>Your Quote: <input type='text' id ='quote'/><p> 
      <button id='add' type='submit'>Add Quote</button> 
     </form> 
     <button id='skip'>Skip to </button> 
    </div>  
</body> 
</html> 

我得到 「不能/ POST」 當我點擊提交按鈕。任何人? 服務器負載,chrome中的html頁面顯示出來。我填寫框並點擊「添加」。我得到路由http://localhost:8000/quotes和錯誤不能POST /報價。不知道我做了什麼,因爲我對服務器中的/ quotes和app.post有'action'='post'。我不知道我是否有其他問題。謝謝。

回答

0
<form action='/quotes' method='post'> 
      <p>Your Name: <input name='name' type = 'text' id ='name'/><p> 
      <p>Your Quote: <input name='quote' type='text' id ='quote'/><p> 
      <button id='add' type='submit'>Add Quote</button> 
     </form>