搜索

首页  >  问答  >  正文

node.js - node根据匹配路由拿到文章信息,怎么返回给前端页面

如果我在另一个页面按了跳转地址: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吗。。。。

迷茫迷茫2783 天前332

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-04-17 15:42:40

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

    <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);
    })

    回复
    0
  • 取消回复