博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前后端数据交互的方式有哪些?
阅读量:4683 次
发布时间:2019-06-09

本文共 1345 字,大约阅读时间需要 4 分钟。

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

 

数据交互的目的是什么?
取:将数据渲染到dom文档中  给:提交数据到后台后,后台会继续返回我们一个数据,拿到这个数据,然后渲染页面
 
1. 利用cookie
eg:前台通过登录来存储cookie
后台通过req.cookies()来获取存储的cookie信息
2. 利用Ajax
在学习NodeJS之前最常用的前后端交互大都利用ajax 和JQuery中已经封装好的$.ajax、$.post、$.getJSON 通过创建一个XMLHttpRequest对象,来进行前后端交互。
 
在学NodeJS之后我们也利用依赖于$http服务自己搭建的_http来完成get、post和jsonp的方式来进行前后端交互;
3. jsonp
jsonp是前后端结合跨域方式,因为前段请求到数据需要在回调函数中使用,所以后端得将数据放回到回调函数中
$.ajax({    url:"",    dataType:"jsonp",    jsonp:'callback',    success(function(res){      console.log(res)    })})
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){})

 转发

转载于:https://www.cnblogs.com/qing-xrr/p/11228654.html

你可能感兴趣的文章
WCF消息传递
查看>>
关于百度 UEditor的使用
查看>>
打开Word时出现“The setup controller has encountered a problem during install. Please ...”
查看>>
串行通讯之UARTLoopback
查看>>
习题3-4 Periodic Strings UVA - 455
查看>>
定位-相对定位
查看>>
DirectX11 With Windows SDK--12 深度/模板状态、平面镜反射绘制
查看>>
vs里的 代码编码简单测试-1
查看>>
数据结构练习(44)数列的逆序数对
查看>>
leetcode - Convert Sorted Array to Binary Search Tree
查看>>
模拟Django的admin自定义stark组件
查看>>
(并查集)Is It A Tree? --POJ--1308
查看>>
覆盖路由
查看>>
C# DllImport的用法
查看>>
ButterKnife的简单使用
查看>>
android activity的启动方式
查看>>
Linux内核模块
查看>>
java第二周的学习知识2
查看>>
5.27 outputstream 和 inputstream
查看>>
JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?
查看>>