nodejs+express+mongodb,如何通过 Ajax 读取数据,并在ejs中把数据显示出来
发布于 4 年前 作者 zhaoxixiong 4058 次浏览 来自 问答

下面是我的代码:

router.get('/viewproject', function(req, res, next) {
    projects.get(function(err, project) {
        if (err) {
            req.flash('error', "读取数据出错!");
            return res.redirect('/');
        }
        req.flash('succeed', "项目信息");
        res.render('viewproject', { projectsResult: project });
    });
});

这里是可以反回数据到ejs模板的,但是在ejs模板里想通过 Ajax 来处理这个返回的数据就不行。

<script>
var a = <%= projectsResult %>
get_json();
function get_json(){
	$.getJSON("json",
    function(data) {
    	var hh = $.parseJSON(data.a);
        $('#json').val(hh);
    });
}
</script>

如果上面的代码有问题,那么要用什么方法才可以实现需求,谢谢!

7 回复

先单独请求看看,是不是正常,然后再使用ajax

@DevinXian 可以请求到数据的 123.jpg 这里我不知道怎么用ajax读取这个数据,返回的 projectsResult 不是 json 格式的?,如果不是要怎么转换

因为 ejs 会转义,所以

var a = <%= JSON.stringify(projectsResult) %>  //就可以了

@zhaoxixiong 这个是需要序列化的,在后端或者页面上使用JSON.stringify即可

@chenjiyong var a = “<%- projectsResult%>” 这样吧?

楼主为什么要这样来使用ajax呢?我一般是前端请求路径然后后端根据请求返回json然后前端再处理。。。你这样我感觉不是ajax是页面渲染的时候就把数据给传入了。

你这不是ajax吧,这只是从后台获取数据,然后直接渲染到页面上了。 自豪地采用 CNodeJS ionic

回到顶部