问题描述
如果我在另一个页面按了跳转地址: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吗。。。。
问题解答
回答1:如果你的跳转地址是这样写的
<a href='https://www.6hehe.com/article'>跳转</a>
可以将点击这个跳转修改成触发一个ajax请求。
<a href='https://www.6hehe.com/wenda/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);})