如何在快速视图中进行ajax调用

时间:2015-11-03 09:32:32

标签: jquery ajax express

这个AJAX代码有效吗?我希望视图继续调用同一页面,这样如果用户上传图片,它只会出现在该页面上的每个人身上,而不是偶尔刷新。我是AJAX的新手并且还在搞清楚它。图片确实出现但不像我想要的那样。它们没有被我的css风格化。

<script>
        $(function(){
            $.ajax({ url: 'http://localhost:3000/board'
                , type: 'GET'
                , dataType: 'html'
            })
            .done(function(data) {
                <% print.forEach(function(posts){ %> 
                    $('html').append('<div class="post-container">');
                        $('html').append('<h2> <%= posts.Title %> </h2>');
                        $('html').append('<hr>');
                        $('html').append('<a target="_blank" href=<%= "/viewer?id=" + posts.ID %>><img class="post-img" src=<%= "uploaded/" + posts.Img_path %>></a>');
                    $('html').append('</div>');
                <% }); %>
            })
            .fail(function() {
                console.log("Something went wrong!");
            });
        });

    </script>

这就是路线:

router.get('/board', function(req, res){
    connection.query('SELECT * FROM posts, function(err, result){
        if(err){
            throw err;
        }else{
            res.render('board', {print: result});
        }
    });
});

1 个答案:

答案 0 :(得分:1)

您可以尝试使用以下.done()处理程序:

.done(function(data) {
    <% print.forEach(function(posts){ %> 
        $('html').append('<div class="post-container">'+
                '<h2> <%= posts.Title %> </h2>'+
                '<hr>'+
                '<a target="_blank" href=<%= "/viewer?id=" + posts.ID %>><img class="post-img" src=<%= "uploaded/" + posts.Img_path %>></a>'+
                '</div>');
    <% }); %>
})

否则您的ajax电话就可以了。