js前后端交互:
1.json
[对象转字符串 ]JSON.stringify(obj)
[字符串转JSON ] JSON.parse(str)
2.fetch
[fetch get方式] fetch(url) .then(function(res)=>{return res.json()}) .then(function(res){ 得到的数据 } )
[fetch post方法]
【PHP JSON】
(前后端混合):
1、前端写好html模板;2、后端拿着我们的html模板再混合他的后端代码;3、后端再输出页面给浏览器;
(前后端混合优点):1、前端只要写好静态html页面交给后端即可;
(前后端混合缺点):1、串联=>必须是前端写好页面,再交给后端,工期=前端时间+后端时间;2、代码混合,后端代码阅读性和逻辑性较差;
3、设计如果要修改页面,前端还需要重新写页面,后端需要重新套模板,工作压力和强度较大;
4、比较慢,后端一次性把所有代码都编译好,发给浏览器,整体文件大,浏览器渲染慢;
(前后端分离):
1、后端只输出json格式数据;2、后端提供数据的api接口;3、前端通过阅读api文档 通过ajax请求数据;4、前端通过js把请求过来的数据渲染到页面上;
(前后端分离优点):
1、前后端同时开发,开发速度快;2、后端只管业务逻辑,不再去嵌套前端的代码;3、修改样式前端自己操作,修改样式、js、接口api后端操作,前后端都更加专注且互相影响少;4、前端是通过ajax请求数据,可以实现异步动态渲染页面,也就加快了浏览器的显示速度;
(前后端分离缺点):
1、数据和html内容都是通过js的ajax请求过来的;2、搜索引擎的蜘蛛(百度、谷歌)来到页面认为页面中是空的,对SEO搜索引擎优化比较差;
(前后端分离如何排错):
1、输入给后端的数据是否正确,检查-network-all-选择到请求-Form Data(就是我们发给服务器的数据,如果这个没有,就说明数据没有发送给后端,检查数据,看和用户输入的是否一致);
2、检查后端返回给我们的数据是否有错,(检查-network-preview);
【api文档的编写】
api文档是后端程序员接口说明文档,接口前端为了实现某个功能,用ajax请求的地址;实现功能都要去看api接口文档;
前端拿到这个文档有什么用:1、前端获取数据,发送数据 实现某个功能需要一个地址,地址要从api文档查看;2、发送什么样的数据给后端,需要api文档规定;3、前端可能接收到什么数据,由api文档规定;