【问题标题】:Cannot POST to app无法发布到应用程序
【发布时间】:2015-05-22 01:44:43
【问题描述】:

一个非常简单的页面... server.js

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 和错误无法发布/引用。不确定我做了什么,因为我在服务器中有 action='post' 到 /quotes 和 app.post 。我不知道我是否还有其他问题。谢谢。

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    用name属性代替id,name是发给服务器的,id不是。

    HTML input - name vs. id

    【讨论】:

      【解决方案2】:
      <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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-15
        • 2017-05-12
        • 1970-01-01
        • 2019-03-10
        • 2011-07-03
        • 2017-09-17
        • 1970-01-01
        相关资源
        最近更新 更多