如何从 mongodb 到 html 表单字段中获取数据?

Posted

技术标签:

【中文标题】如何从 mongodb 到 html 表单字段中获取数据?【英文标题】:How to fetch data from, mongodb to html form fields? 【发布时间】:2018-06-11 22:03:33 【问题描述】:
database name is test1 and collection name is feedbacks 
this is app.js

我无法在我的 html 表单字段中获取 mongodb 数据正在插入数据,但我想在我的表单中获取初始值帮助我解决这个问题。因为我是新手,所以我想有一个简单的显式解决方案。

var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var mongodb = require('mongodb');

var dbConn = mongodb.MongoClient.connect('mongodb://localhost:27017/test1');

var app = express();

app.use(bodyParser.urlencoded( extended: false ));
app.use(express.static(path.resolve(__dirname, 'public')));

app.get('/retrieve', function(req, res)
    post.find(, function(err, feedbacks)
        if(err) res.json(err);
        else    res.render('retrieve', posts: feedbacks);
    );
);
app.post('/post-feedback', function (req, res) 
    dbConn.then(function(db) 
        delete req.body._id; // for safety reasons
        var dd = db.db("test1");

        dd.collection('feedbacks').insertOne(req.body);
    );    
    res.send('Data received:\n' + JSON.stringify(req.body));
);


app.get('/view-feedbacks',  function(req, res) 
    dbConn.then(function(db) 
        var dd=db.db("test1");
        dd.collection('feedbacks').find("Name":"shubham").toArray().then(function(feedbacks) 
            res.status(200).json(feedbacks);
        );
    );
);
app.get('/view-sahil',  function(req, res) 
    dbConn.then(function(db) 
        var dd=db.db("test1");
        dd.collection('feedbacks').insertOne("name":"sahil","E-mail":"sahil@vibhuti.guru","comment":"jhdsfji",function(feedbacks) 
            res.status(200).json("Data inserted");
            );
        );
    );
 app.listen(process.env.PORT || 3000, process.env.IP || '0.0.0.0' );

这是我的index.html

<!doctype html>
<html lang="en">
<head>
    <script src="..app.js"></script>
    <meta charset="UTF-8">
    <title>mongodb</title>
</head>
<body>
    <h1>Please fill data in the form below:</h1>
    <form method="POST" action="/">
        <label>Name:<input type="text" name="" value= feedbacks.name required></label>
        <br>
        <label>Email:<input type="text" name="Email" value="" required></label>
        <br>
        <label>Comment:<br><textarea name="comment"></textarea></label>
        <br>
        <input type="submit" value="Submit">
    </form>


    <a href="/view-feedbacks">View Records</a>
    <a href="/view-sahil">insert dummy record </a>
</body>

</html>

【问题讨论】:

这是错误的方式&lt;a href="/view-feedbacks"&gt;View Records&lt;/a&gt; 这里&lt;a href="/view-feedbacks"&gt;View Records&lt;/a&gt;REST api 所以在AJAX 的帮助下调用这个api @ManjeetThakur 先生,您能详细说明一下这个答案吗?我是新手,对此我没有太多了解。如果可能的话,请给我写完整的代码,我将不胜感激 你使用的是哪个框架? @manjeet thakur nodejs 和 angularjs 【参考方案1】:

你可以像这样从 angularjs 调用 API

var testApp = angular.module('testApp', []);

testApp.controller('testController' , function ($scope, $http) 

    $scope.getRequest = function () 
        console.log("I've been pressed!");  
        $http.get("http://localhost/view-feedbacks")
            .then(function successCallback(response)
                $scope.response = response;
                // Print this value in html 
            , function errorCallback(response)
                console.log("Unable to perform get request");
            );
    ;

);

使用 jQuery,你可以这样做

 $.ajax(  
       type: "GET",  
       url: "http://localhost/view-feedbacks",  
       dataType: "json",  
       success: function(resp)  

         console.log("resp", resp);  
       ,  
       error: function(e)  
         alert('error', e);  
         
     );

【讨论】:

先生,我必须使用nodejs文件和html然后如何使用ajax 什么都没有发生先生。谢谢你我感谢你的努力 这很有帮助,先生

以上是关于如何从 mongodb 到 html 表单字段中获取数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用上传的图像 url 注入输入字段以及如何将带有表单的 url 提交到 mongodb?

如何使用 NodeJS 从 html 表单执行 PATCH 请求?

如何将变量从外部 JavaScript 传递到 HTML 表单

Ora-Apex:如何从手动 HTML 表单中捕获屏幕字段值

使用 Express 获取表单数据到 mongoDB 数据库

如何使用语音识别填充所有离子表单字段?