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

web前后端交互方式有哪些?

 正如我们所知,一个完整的IT项目是由多个不同岗位共同完成的,包括UI设计、前端开发、后端开发、测试等。前端后端需要通过技术上交互实现联通,那么web前后端交互技术都有哪些呢?

  前端开发需要做的事情,只有两个:1. 创建界面结构 2. 数据交互

  数据交互其实又可以分为两种:1. 给后台技术 2. 从后台那数据

  数据交互的目的是什么?

  取:将数据渲染到dom文档中  给:提交数据到后台后,后台会继续返回我们一个数据,拿到这个数据,然后渲染页面.

  1. 利用cookie

  例如:前台通过登录来存储cookie

  后台通过req.cookies()来获取存储的cookie信息

  2. 利用Ajax

  在学习NodeJS之前最常用的前后端交互大都利用ajax 和JQuery中已经封装好的$.ajax、$.post、$.getJSON 通过创建一个XMLHttpRequest对象,来进行前后端交互。

  在学NodeJS之后我们也利用依赖于$http服务自己搭建的_http来完成get、post和jsonp的方式来进行前后端交互;

  3. jsonp

  jsonp是前后端结合跨域方式,因为前段请求到数据需要在回调函数中使用,所以后端得将数据放回到回调函数中

  jsonp属于AJAX吗? ajax是指通过使用xmlhttpquest对象进行异步数据交互的技术,jsonp是依靠scriptsrc属性来获取的,不属于ajax

  4. 服务端渲染

  浏览器请求到的内容其实可以通过后端加工一下,将一会数据直接渲染好,再给浏览器就可以了

  在php中实现服务端渲染:

  在php语言文件中可以放入html代码,访问php文件的时候就相当于访问这个对应的html文件,因为在php文件中,所以可以写一些php的代码来渲染数据

  在Node中实现服务端渲染:

  利用模板引擎,node在渲染模板的时候给模板传入数据,在模板中就可以使用特定的语法来渲染dom了 例如:ejs,jade

  注意:express里的路由是靠请求路径划分的,前一个自己搭的路由是根据请求类型划分的。

  5. webSocket 和 Socket.io

  网上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端成为一个scoket

  通过建立socket双向连接,就可以让客户端和服务端直接进行双向通信

  简单的小案例:socket.io聊天的思路

  1. 服务器端建立好服务端, var wss=require(“socket.io”)(server)

  2. 创建客户端的连接socket var wsc = io.connect(‘ws://’)

  3. 客户端连接 wsc.on(“connect”,function(e){})

  4. 服务器端接收到客户端连接的消息 wss.on(“connection”,function(socket){})

  5. 客户端发送消息的时候触发 wsc.on(“meaasge”,function(msg){})

  6. 客户端接收到服务器端发送消息 wsc.on(“message”,function(e){})


http://www.kler.cn/a/372901.html

相关文章:

  • 苏州金龙技术创新赋能旅游新质生产力
  • 实验干货|电流型霍尔传感器采样设计03-信号调理
  • Python小游戏17——飞机大战
  • safetensor存取pytorch模型参数、玄数据简例
  • ubuntu 22.04网线连接无ip、网络设置无有线网界面(netplan修复)
  • 一些有用的科研数据网站
  • 在manjaro 2024里使用yay命令安装ROS2
  • Linux初阶——线程(Part2):互斥同步问题
  • Nginx 配置基于主机名的 Web 服务器
  • SpringBoot接收LocalDateTime参数
  • c++中的指针相关
  • [Linux关键词]unmask,mv,dev/pts,stdin stdout stderr,echo
  • 使用原生HTML和css制作一个箭头步骤条
  • 【Nas】X-DOC:Mac mini Docker部署小雅Alist
  • Vue v-on
  • Android 在github网站下载项目:各种很慢怎么办?比如gradle下载慢;访问github慢;依赖下载慢
  • c++中的结构体
  • 深度了解flink(七) JobManager(1) 组件启动流程分析
  • 【HarmonyOS】鸿蒙应用低功耗蓝牙BLE的使用心得 (一)
  • 四款国内外远程桌面软件横测:ToDesk、向日葵、TeamViewer、AnyDesk
  • go-logger v0.27.0 - 并发性能为官方库 10 倍
  • uv: 一个统一的Python包管理工具
  • 游戏引擎中的颜色科学
  • 使用docx4j+docx4j-ImportXHTML实现将html转成word
  • PHP合成图片,生成海报图,poster-editor使用说明
  • 华为云Stack名词解释