Javascript Post请求不起作用,错误显示为“;无法发布/addstudent/add";
这是我想发送的post请求,但它不起作用。我试着在Postman中使用它,也试着使用表单,但错误是“Cannotpost/addstudent/add”。下面是代码 这是JScode:我正在使用express并使用它在MongoDB中发布它Javascript Post请求不起作用,错误显示为“;无法发布/addstudent/add";,javascript,node.js,mongodb,express,post,Javascript,Node.js,Mongodb,Express,Post,这是我想发送的post请求,但它不起作用。我试着在Postman中使用它,也试着使用表单,但错误是“Cannotpost/addstudent/add”。下面是代码 这是JScode:我正在使用express并使用它在MongoDB中发布它 app.post('/addstudent/add', function(req, res){ db.collection('students').insertOne(req.body, function(error, result){ if(err
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>
试试这个
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}`));
我试着运行上面给出的代码,一切都很好。我没有对代码做任何更改。正在发布数据并成功保存到数据库中。结果如下图所示:
显示你的根
js
文件我已经上传了整个js文件你是如何启动你的服务器的?
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}`));