javascript - 发布请求不起作用,错误显示“无法发布 /addstudent/add”
问题描述
这是我要发送的发布请求,但它不起作用。我尝试在 Postman 中使用它以及使用表单,但错误显示"cannot POST /addstudent/add"。下面是代码。
这是 JScode:我正在使用 express 并使用它在 MongoDB 中发布它。
app.post('/addstudent/add', function(req, res){
db.collection('students').insertOne(req.body, function(error, result){
if(error)
throw error;
res.json(result);
console.log("New student Successfully Added!");
})
})
这是 HTML 代码:
<div class="container-fluid">
<div class="formdiv">
<form action="/addstudent/add" method="POST">
<div class="form-group">
<label for="exampleInputEmail1">Student Name</label>
<input type="text" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter Name" name="Name">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Student Email</label>
<input type="text" class="form-control" id="exampleInputPassword1" placeholder="Email" name="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Phone Number</label>
<input type="number" class="form-control" id="exampleInputPassword1" placeholder="Phone Number" name="Number">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Age</label>
<input type="number" class="form-control" id="exampleInputPassword1" placeholder="Age" name="Age">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
</div>
这是整个 JS 代码:
var express = require('express');
var bodyParser = require('body-parser');
var mongoDB = require('mongodb').MongoClient;
var hbs = require('hbs');
var app = express();
app.use(express.static(__dirname +'/public'));
app.use( bodyParser.urlencoded());
var url = 'mongodb://localhost:27017';
var db;
mongoDB.connect(url, {useUnifiedTopology: true, useNewUrlParser: true },
function(error, client){
if(error)
throw error;
db = client.db('attainu');
});
app.get('/instructors', function(req, res){
res.render('instructor.hbs');
})
app.get('/students', function(req, res){
res.render('index.hbs');
})
app.post('/addstudent/add', function(req, res){
db.collection('students').insertOne(req.body, function(error, result){
if(error)
throw error;
res.json(result);
console.log("New student Successfully Added!");
})
})
app.listen(3000);
解决方案
尝试这个
var express = require('express');
var bodyParser = require('body-parser');
var mongoDB = require('mongodb').MongoClient;
var hbs = require('hbs');
const port = process.env.PORT || 3000;
var app = express();
app.use(express.static(__dirname +'/public'));
//Add this line
app.use( bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json())
var url = 'mongodb://localhost:27017';
var db;
mongoDB.connect(url, {useUnifiedTopology: true, useNewUrlParser: true },
function(error, client){
if(error)
throw error;
db = client.db('attainu');
});
app.get('/instructors', function(req, res){
res.render('instructor.hbs');
})
app.get('/students', function(req, res){
res.render('index.hbs');
});
app.post('/addstudent/add', function(req, res){
db.collection('students').insertOne(req.body, function(error, result){
if(error)
throw error;
res.json(result);
console.log("New student Successfully Added!");
});
});
app.listen(port, () => console.log(`Server is running at ${port}`));
推荐阅读
- python - 如何在 numpy 结构化数组中设置多种类型?
- azure - 如何通过 az cli 创建多个存储复制策略
- php - 如何在文本域wordpress中添加html标签
- asp.net-core - Startup.cs 中的配置缺少设置
- flutter - DART 库中的统计函数
- python - 是否可以从 Pipfile.lock 文件中删除依赖项并保留其他依赖项?
- c# - Xamarin Forms 中的 Ldap(s) 身份验证
- firebase - 试图理解 Flutter 的模拟谷歌登录
- javascript - 调用 javascript 来强制浏览器返回比搜索的第一页更多的内容
- python - 为什么我在函数中使用 return 时却收到 None 值?