当前位置: 首页 > news >正文

罗马柱 东莞网站建设云客网平台

罗马柱 东莞网站建设,云客网平台,河北品牌网站建设,广西南宁网络营销网站1. 概念 一.服务端渲染,后端嵌套模板,后端渲染模板,SSR(后端把页面组装好) 做好静态页面,动态效果 把前端代码提供给后端,后端则把静态html以及里面的假数据给删除掉 通过模板进行动态生成h…

1. 概念

一.服务端渲染,后端嵌套模板,后端渲染模板,SSR(后端把页面组装好)

    1. 做好静态页面,动态效果
    1. 把前端代码提供给后端,后端则把静态html以及里面的假数据给删除掉

通过模板进行动态生成html的内容

二.前后端分离(应该是客户端渲染),BSR(前端组装页面)

    1. 做好静态页面,动态效果
    1. json模拟,ajax动态创建页面
    1. 真实接口数据,前后联调
    1. 把前端提供给后端静态资源文件夹

2. 客户端渲染(前后端分离)

意思就是后端把写好的接口给前端,前端发起ajax请求获取接口的数据,从而渲染界面。
这种做的界面通常查看它的源代码基本上查看不到相关数据字段信息,只能看到一些js代码或者导入js文件的script标签(做爬虫的直接爬取当前界面当然获取不到想要的信息啦!要想获取到信息,找到相应的接口很关键)。

比如:酷狗音乐平台的播放音乐界面,如果读者查看它的界面的源代码,可以发现当前播放的音乐下载链接及歌词信息在源代码中找不到,因为这个界面涉及到前后端分离(部分,还是全部就不知道了)。如果想找到上述提到的哪些数据信息,只能找到相应的接口。
请添加图片描述
接口在这:
请添加图片描述
其实,从某些方面讲,这个界面用服务端渲染简单多了,而且也没有必要做接口哪些操作啊!可能是酷狗为了防止一些音乐资源被爬虫下载吧!(猜测而已)

用node实现:
就是在一个界面发起ajax请求访问一个接口,然后把数据显示在界面。
前端代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>测试</title>
</head>
<body><ul class="list"></ul>
</body><script type="text/javascript">fetch('/ceshi/list').then((res)=>{return res.json();}).then((res)=>{console.log(res);render(res);})function render(arr){let list_ele = document.querySelector('.list');let list = arr.map(ele=>`<li>${ele}</li>`);list_ele.innerHTML = list.join("");}</script>
</html>

效果:
请添加图片描述

3. 服务端渲染

服务端渲染的界面通常有一个这样的效果,就是查看界面的源代码,发现能找到我们在界面上能看到的数据信息。(做爬虫的话直接访问当前界面,然后利用解析模块解析相应数据即可)
比如:去哪儿网景点界面(至于有没有一部分前后端分离就不清楚了)
请添加图片描述
界面源代码:
请添加图片描述

nodejs代码:
这是其中一个路由中间件代码:

const express = require('express');
const router = express.Router();// 响应前端的get请求
router.get('/get',(req,res)=>{console.log(req.query);// 获取请求参数res.send('登录get请求');
})// 响应前端的post请求
router.post('/post', (req, res) => {console.log(req.body);// 必须注册中间件res.send('登录post请求');
})// 测试   ejs学习
router.get('/list',(req,res)=>{res.send([1,2,3,4,5,6,76]);
})router.get('/login',function(req,res){res.render('login',{error:"",isShow:false});
});router.get('/home',(req,res)=>{let arr = ['abc','123','edbef'];res.render('home',{list:arr});
});router.post('/postLogin',function(req,res){const body_2 = req.body;console.log(body_2);if(body_2['username'] == 'liuze' && body_2['password'] == 'sxx123'){console.log('登录成功!');res.redirect('/ceshi/home');}else{console.log('登录失败!');res.render('login',{error:'账号、密码输入错误!',isShow:true});}
})module.exports = router;

这是一个ejs界面文件代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>home页面</title>
</head>
<body>home页面<ul><%for(var i=0;i<list.length;i++){%><li><%=list[i]%></li><%}%></ul>
</body>
</html>

访问的链接是:http://localhost:3000/ceshi/home
运行结果如下:
请添加图片描述

http://www.ds6.com.cn/news/42269.html

相关文章:

  • 免费wap自助建站网站seo教程网
  • 做网站资料准备什么竞价托管咨询微竞价
  • 策划案模板范文安卓优化大师历史版本
  • 平度推广网站建设百度信息流广告推广
  • 微软雅黑适合于做网站吗济宁做网站的电话
  • 网站首页制作营销软文300字范文
  • 网站大全免费入口谷歌google play官网
  • 巩义专业网站建设价格厦门网站综合优化贵吗
  • 网站开发所需要的技术郑州网站seo优化公司
  • 上海做网站培训班seo网络优化教程
  • 大片网站建设seo关键词优化是什么意思
  • 网站整合discuz广告投放平台排名
  • 网站demo制作工具平台外宣推广技巧
  • 中国推广网站营销策划案
  • 天津外贸网站建设公司上海网站排名优化
  • 网站程序源码优化内容
  • 做网站好的网站建设公司友情链接导航
  • html网站设计范例网络搜索工具
  • 企业酒店的网站建设校园推广方案
  • 做律师百度推广的网站站长工具是干嘛的
  • 网站建设需求分析报告撰写线上推广策划方案
  • 安 网站建设免费域名服务器
  • 网站设置支付宝在线支付永久免费建站系统
  • 如何设计网站站点网站维护的主要内容
  • 怎么做网赌网站seo优化专员工作内容
  • 笔记网站开发代码网络热词2022
  • 诸城个人网站建设优化大师怎么卸载
  • 做网站邢台百度老年搜索
  • 提供网站制作深圳知名seo公司
  • 莱州环球网站建设百度收录api怎么提交