node.js - node根据匹配路由拿到文章信息,怎么返回给前端页面
迷茫
迷茫 2017-04-17 15:40:40
0
1
328

如果我在另一个页面按了跳转地址:http://localhost:3000/article...,我在node的contorll监听到了,查询数据库拿出他的数据。比如根据id拿到了文章title,然后我要把这个title返回到前端页面。

因为我页面不是用模板而是用了VUE拿到数据再渲染,所以不能直接渲染模板jade等。那么这个title怎么传、页面又怎么接?因为没有发出ajax请求啊,所以不知道怎么拿

补充:

app.get('/article',function(req, res) {
    var aId = req.query.id;
    //获取文章内容
    select("SELECT * FROM article WHERE id="+aId+";").then(function(data) {
        res.json({article:data});   //这里我用了res.json()把数据返回出去,前端能收吗??
    }).catch(function() {})
    res.sendFile('/public/html/article.html',{root:__dirname+"/../"},function(err) {
        if(err) {
            console.log(err);
        }else {
            console.log("yes");
        }
    });
    res.end();
})

我在浏览器输入http://localhost:3000/article...,能取到了这个article.html页面了。

我问的问题就是 前端能取到我上面的 res.json({article:data}); 的数据吗??怎么取?或者我另一条思路就是存到res的请求体中(研究不深,不知道现在算不算写在响应体了),问题也是不知道怎么取这个响应体。

如果实在没办法,只能在初始化页面的时候用ajax吗。。。。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

Antworte allen(1)
Ty80

如果你的跳转地址是这样写的

<a href="/article">跳转</a>

可以将点击这个跳转修改成触发一个ajax请求。

<a href="getTitle()">跳转</a>

js

function getTitle(){
    var url = 'localhost:3000/article';
    // 用ajax
}

nodejs里的路由处理函数修改成

app.get('/article', function(req, res, next){
    // 假设获取数据的数据为data
    var data;
    res.json(data);
})
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage