Node.js 如何在html页面中显示MongoDB数据

Node.js 如何在html页面中显示MongoDB数据,node.js,mongodb,api,express,mongoose,Node.js,Mongodb,Api,Express,Mongoose,我正在做一个项目,需要在HTML网页中显示用户数据。为此,我已经为API创建了POST和GET方法。我不知道如何在网页上显示数据 PS:我不允许使用angular或react之类的框架。我必须和男人一起做 张贴方法: router.post('/adduserdata', (req, res) => { bcrypt.hash(req.body.password, 10, (err, hash) => { if (err) { res.

我正在做一个项目,需要在HTML网页中显示用户数据。为此,我已经为API创建了POST和GET方法。我不知道如何在网页上显示数据
PS:我不允许使用angular或react之类的框架。我必须和男人一起做

张贴方法:

router.post('/adduserdata', (req, res) => {
    bcrypt.hash(req.body.password, 10, (err, hash) => {
        if (err) {
            res.json({
                error: err
            });
        }
        else {
            const user = new userdata({
                name: req.body.name,
                email: req.body.email,
                password: hash,
                mobile_no: req.body.mobile_no,
                data_of_birth: req.body.data_of_birth
            })
            try {
                user.save()
                res.json({
                    message: "User Created.."
                });
            }
            catch (err) {
                res.send('Error');
            }
        }
    });
});

获取方法:

router.get('/getuserdata', async (req, res) => {
    try {
        const user = await userdata.find().select("name email mobile_no data_of_birth")
        res.json(user)
    }
    catch (err) {
        res.send('Error ', err)
    }
});

您基本上需要执行一些DOM处理和Ajax请求

在纯JS中:

const htmlElement = document.getElementById("YourElement");
const req = new XMLHttpRequest();
req.onreadystatechange = () => {
    if (req.readyState == 4 && req.status == 200) {
         const data = req.response;
         console.log(data) // Shows the returning data, that will probably be a JSON OBJECT.
         htmlElement.inneText = data.name;
    }
};
xhttp.open("GET", "/getuserdata");
xhttp.send();
代码分类:

htmlElement
:创建一个常量变量,该变量包含具有所提供ID的HTML元素。
req
:创建HTTP请求客户端。
代码的其余部分都是关于这两个变量的。名为
req
的HTTP客户端向服务器发送请求,检查请求是否已加载(
readyState 4
),并验证请求是否成功(
HTTP status 200
)。如果满足这些条件,那么程序将使用请求返回的数据创建一个变量,并使用该数据填充HTML网页


Ps:您还可以使用
req.responseText
将json对象直接转换为DOMString。

您基本上需要执行一些DOM处理和Ajax请求

在纯JS中:

const htmlElement = document.getElementById("YourElement");
const req = new XMLHttpRequest();
req.onreadystatechange = () => {
    if (req.readyState == 4 && req.status == 200) {
         const data = req.response;
         console.log(data) // Shows the returning data, that will probably be a JSON OBJECT.
         htmlElement.inneText = data.name;
    }
};
xhttp.open("GET", "/getuserdata");
xhttp.send();
代码分类:

htmlElement
:创建一个常量变量,该变量包含具有所提供ID的HTML元素。
req
:创建HTTP请求客户端。
代码的其余部分都是关于这两个变量的。名为
req
的HTTP客户端向服务器发送请求,检查请求是否已加载(
readyState 4
),并验证请求是否成功(
HTTP status 200
)。如果满足这些条件,那么程序将使用请求返回的数据创建一个变量,并使用该数据填充HTML网页


Ps:您还可以使用
req.responseText
将json对象直接转换为DOMString。

您需要在HTML中为用户数据设置一个占位符:

然后,在页面的javascript中,您需要向/getuserdata端点发出请求,然后使用API调用的结果修改DOM:

<script>
  fetch('http://example.com/getuserdata')
    .then(response => response.json())
    .then(user => {
       document.getElementById("name").innerHTML = user.name; 
    });
<script>

取('http://example.com/getuserdata')
.then(response=>response.json())
。然后(用户=>{
document.getElementById(“name”).innerHTML=user.name;
});

您需要在HTML中为用户数据设置占位符:

然后,在页面的javascript中,您需要向/getuserdata端点发出请求,然后使用API调用的结果修改DOM:

<script>
  fetch('http://example.com/getuserdata')
    .then(response => response.json())
    .then(user => {
       document.getElementById("name").innerHTML = user.name; 
    });
<script>

取('http://example.com/getuserdata')
.then(response=>response.json())
。然后(用户=>{
document.getElementById(“name”).innerHTML=user.name;
});