簡體   English   中英

問題無法使用mongodb(ejs)在node.js中發布

[英]Problem Cannot post in node.js with mongodb (ejs)

大家好,我嘗試使用表單和文本輸入來制作頁面,並嘗試在另一側取值並收到錯誤“無法發布”。 這是我的代碼,非常感謝。 為什么它不起作用? 大家好,我嘗試使用表單和文本輸入來制作頁面,並嘗試在另一側取值並收到錯誤“無法發布”。 這是我的代碼,非常感謝。 為什么它不起作用?

這是app.js

 var express = require('express'); var app = express(); var home = require('./home'); var user = require('./user'); var mongodb=require('./mongodb'); app.use(express.static(__dirname + '/public')); //listen port 3000 app.listen(3000, function () { console.log('Example app listening on port 3000!'); }); //start ejs package app.set('view engine', 'ejs'); //use the help.js and user.js app.use('/', home); app.use('/user', user); app.use('/mongo',mongodb); 

這是mongodb.js:

 var express = require('express'); var router = express.Router(); var MongoClient = require('mongodb').MongoClient; var url = "mongodb://localhost:27017/"; var app = express(); var bodyparser=require('body-parser'); let obj = null; app.use(bodyparser.urlencoded({extended:true})); app.use(bodyparser.json()); app.set('view engine', 'ejs'); getDfroMongo(); function getDfroMongo(){ MongoClient.connect(url, function(err, db) { if (err) throw err; var dbo = db.db("mydb"); //Sort the result by name: var sort = { car : 1 }; dbo.collection("customers").find().sort(sort).toArray(function(err, result) { if (err) throw err; console.log(result); obj = result; db.close(); }); }); } app.post('/',function(req,res){ //var myid = {ObjectId:req.body.id}; var customername = req.body.customername; // var age = req.body.age; // var myimg = req.body.img; // obj = {CustomerName: customername, Age: age, img: myimg }; //res.send(htmlData); console.log(customername); }); app.get('/', function(req, res){ res.render(__dirname + '/views/mongodbview',{result:obj}); //if html file is root directory }); module.exports = app; module.exports = router; 

mongodbview.ejs:

 <html> <head> <link href="/css/style.css" rel="stylesheet" type="text/css"> <%include title%> </head> <body> <form class="form" action="/" method="post" name="regForm"> <div class="form-group"> <input type="text" name="customername" class="form-control" id="customername" placeholder="customername"> </div> <div class="form-group"> <input type="text" name="age" class="form-control" id="age" placeholder="age"> </div> <div class="form-group"> <input type="text" name="img" class="form-control" id="img" placeholder="img"> </div> <button type="submit" class="btn btn-default">Submit</button> </form> <table> <tr> <th>Car</th> <th>Model</th> <th>Year</th> <th>image</th> </tr><br> <% for(let i=0; i < result.length; i++) { %> <tr> <td><%= result[i].Car%></td> <td><%= result[i].Model%></td> <td><%= result[i].Year%></td> <td> <img src="\\images\\<%= result[i].img%> "width="80" height="80"></td><br> </tr> <% } %> </table> </body> </html> 

謝謝大家可怕的網站!

您已經在post handler函數中注釋了res.send。 結果,沒有響應發送到客戶端。

由於沒有足夠的代表,將其發布為答案而不是評論

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM