《一、利用前端前端引擎和ajax来渲染前端页面》
1、就是创建一个装渲染内容的盒子
comment是接口传进来的参数,就是传进来的数据,名字就叫“comment”因此:“comment.名”字就是填入的数据名字
例如:<script type="text/template"id="comments">
<% comments.forEach(function(comment){%>
<div class="text_user_text">
<div class="text-img z">
<img src="imgs/user.png">
</div>
<div class="user_comment">
<div class="spans">
<span class="user_name">
<strong><%=comment.user%></strong>
</span>
<span><%=comment.postdate%></span>
<i class="del y" data-id="<%=comment.id%>">x</i>
</div>
<div class="span_comment">
<p><%=comment.detail%></p>
</div>
</div>
</div>
<% }) %>
</script>
2、连接接口获取数据
就是用AJAX来写js函数获取数据库中的数据
;(function(){
第一步就是用var先找到要渲染的盒子
var count = document.getElementById('count')
这里的count是放内容的大盒子 ,就是没有放入ejs前端渲染引擎的大盒子里
第二步就是用ajax中的get函数和post函数来连接数据库,查找数据库中的内容
例子:_.getJSON(‘php接口’,[callback函数]function(data){
第三步就是找到ejs渲染的盒子,就是script的id值<script type="text/template"id="comments">
var template = document.querySelector('#comments').innerHTML
第四步就是判断是否请求成功
if (data.code === 200){
//comments是要渲染的盒子,就是内容的盒子
//第六步就是用ejs.render(方内容的盒子,{js盒子id名comments:data.list接口文件的名字})就是把ajax请求过来的数据写到要添加内容的盒子里
var html = ejs.render(template, {comments: data.list})
}else{
var html = ejs.render(template, {comments: []})
}
list.innerHTML = html//把list请求过来的数据填到对应的盒子里
} )
///这样就完成了内容的渲染,就是利用ajax把数据库中的内容渲染到页面中,就是循环生成多个标签,就是数据库中有多少条就渲染多少条对应的html标签内容。
《二、利用后端php来渲染前端页面》
1、先是把html文件改成后缀php类型的文件,
2、在其上面写php接口
例如:<?php
$id = $_GET['id'] ? $_GET['id'] : 1;
$mysqli = new Mysqli('localhost', 'root', 'root', 'db_yuedu');
$sql = "SELECT * FROM t_articles WHERE id = {$id}";
$result = $mysqli->query($sql);
$row = Mysqli_fetch_assoc($result)
?>
这里返回的就是数据$row数据
3、然后就是在要渲染的模板中填入对应的数据
例如:<div><?php echo($row['play_time这是返回来的数据库名字']) ?></div>
//这样就是用php后端来渲染html前端页面,好像不能循环渲染