Ich bin ein Anfänger für Node und ich versuche eine mehrseitige Anwendung mit Mongo (Mlab), Express und Nodejs zu erstellen. Ich versuche, zu einer Seite addUser
zu navigieren, die POST
Anfragen annimmt. Aber ich bekomme immer den FehlerNodejs: Ich kann keine Route bekommen, wenn ich add.post verwende
Kann nicht GET/addUser
wenn ich add.post
auf sie aus. Aber es funktioniert, wenn ich add.get
Hier verwenden ist app.js
var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var cors = require('cors');
var path = require('path');
const MongoClient = require('mongodb').MongoClient;
var app = express();
app.set('view engine', 'ejs')
const port = 3000;
MongoClient.connect('mongodb://<user>:<password>@ds111882.mlab.com:11882/serene-brushlands-55292-db', function(err, database) {
if(err) return console.log(err);
db = database
app.listen(port, function() {
console.log('Server started at port:'+port);
});
});
var urlencodedParser = bodyParser.urlencoded({ extended:false });
app.get('/', function(req, res) {
res.sendFile(__dirname+'/index.html');
});
app.post('/addUser', urlencodedParser, function(req, res) {
res.render('addUser');
// db.collection('users').save(req.body, function(err, result) {
// if (err) return console.log(err);
// console.log('saved to database');
// res.redirect('/');
// })
// console.log(req.body);
});
nicht sicher, was ich falsch mache.
Hier ist addUser.ejs
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>MY APP</title>
</head>
<body>
<form action="/addUser" method="POST" >
<input type="text" placeholder="username" name="username">
<input type="text" placeholder="specialty" name="specialty">
<input type="text" placeholder="address" name="address">
<!-- <input type="file" name="picture"> -->
<button type="submit">Submit</button>
</form>
</body>
Aber diese Seite hat Einzelheiten Formulare, die per Post Antrag gestellt werden müssen, so shouldn ist es nicht "add.post"? Außerdem habe ich vergessen, den 'urlencodedParser' Parameter vorher hinzuzufügen, aber ich tat es jetzt. –
Sie brauchen beides. Holen Sie sich zum Anzeigen der Seite und Post für das Formular –
Also sagen Sie, ich sollte eine zusätzliche Methode add.get hinzufügen (Ansicht, Funktion) zusätzlich zu add.post (Ansicht, bodyparser, Funktion) oder macht die "Methode = POST" in die Form genügt? –