前后端数据交互|分页查询|表格-双向绑定|get和post的区别

8 篇文章 0 订阅
7 篇文章 0 订阅

1 前后端数据交互

1.1 前端代码 部署在 前端服务器

  1. 操作前端代码的平台:

vue
eclips
idea

  1. 部署前端服务器的工具

vue内嵌服务器
rad中was(websphere application server)是部署服务器工具

1.2 前端代码 在 浏览器展示(只展示页面,没有数据)----自给自足

浏览器地址栏输入前端页面地址:127.0.0.1:8080/index (一般都是本地服务器IP+8080)

8080一般是tomcat的默认端口,3306一般是mysql的默认端口,都可以改的

1.3 前端/浏览器 请求 后端数据 (后端死数据)----给啥吃啥

前端/浏览器 请求 后端数据方式就一种:在浏览器输入地址

  • 后端设定(访问地址):某模块的某功能/地址的数据
@RestController
@RequestMapping("/ums-user")
public class UmsUserController {
    @Resource
    IUmsUserService userService;
    @GetMapping("/page")

    IPage page(){
             return userService.page(new Page<>(1,10));
         }
}

前端利用ajax(模拟浏览器发起访问,只拿数据)绑定(访问地址):按需求绑定对应 后端地址

this.$axios.request({
					url: '106.55.165.94/8081/ums-user/page',
					method: 'get',
				}).then(response => {
					console.log(response)
				})

1.4 前端 请求 后端数据 (前端死数据,后端动态数据)----指定吃啥

前端:定义参数params,让ajax访问时携带参数
关键:前端参数名=后端接受参数的类的属性名

data(){
			return {
				params: {
					pageNo: 1,
					pageSize: 9
				}
			}
		},
create(){
this.$axios.request({
					url: '/ums-user/page',
					method: 'get',
					params: this.params
				}).then(response => {
					console.log(response)
				})
		}		

后端:

  1. 接受参数params,
  2. 通过接收到指令(具体数据 赋值 给自己对应类的对应属性), IPage方法中利用赋值参数查询数据库
    ▶特殊情况:该参数不属于数据库表里的字段,只作为参数接受: @TableField,防止mybits-plus错误查询数据库)==mybits-plus你不要管,我就是接受给参数,执行方法就行。
  3. 返回查询数据库后的内容response给前端
    ▶ 特殊情况:直接赋值给方法
@Data
public class BasePojo {
    @TableField(exist = false)
    private Integer pageNo;
    @TableField(exist = false)
    private Integer pageSize;
}
IPage page(UmsUser umsUser){
             return userService.page(new Page<>(umsUser.getPageNo(),umsUser.getPageSize()));
         }

1.5 前端/浏览器 请求 后端数据 (前后端活数据)----随意指定都能吃

前端活:双向绑定

  • 初始化状态:前端代码初始参数 让 浏览器页面展示初始数据 ;
  • 变更时:浏览器页面变更内容 触发 前端代码变更参数值

后端活:后端代码 根据 前端传来不同参数,查询不同数据,返回给前端代码,最终显示到页面上

1.5.1 具体流程

用户操作浏览器,触发页面按钮----------按钮影响前端代码:前端传给后端的参数更改(初始状态:参数有默认值==用户能看到一个首页面数据,而不是什么都没有)-------后端根据参数查询,返回对应的数据
前端:(后端不变故无图)

【分页栏:样式,样式,绑定全部数据,当前页(双向绑定),变更事件】
<el-pagination
		background
		layout="prev,pager,next"
		:page-count="tableData.pages"
		:current-page.sync="params.pageNo"
		@current-change="getTableData"
></el-pagination>
data(){
			return {
				params: {
					pageNo: 1,
					pageSize: 10
				}
			}
		},
		created(){
			this.getTableData()
		},
		methods:{
			getTableData(){
				this.$axios.request({
					url: '/ums-user/page',
					method: 'get',
					params: this.params
				}).then(response => {
					this.tableData = response.data
					
				})
			}
		}

1.5.2 分页查询(后端:分页查询方法+前端:双向绑定,变更事件)

后端:
使用分页查询方法page-------需要参数:第几页,一页几条-------返回值:(数组,元素json)

前端:
块1:定义数据展现表格(表格栏名称 绑定 返回值属性名
块2:定义分页栏-----只能显示样式

前端分页功能实现:(双向绑定,变更事件)
▶分页栏的每页,绑定,前端传给后端的参数之一pageNo==浏览器页面的变更 触发 前端代码变更(前端传给后端 参数变更)=》双向绑定。单向绑定=分页栏每页,都绑定初始时前端代码写的参数

【表格:双向绑定sync】
:current-page.sync="params.pageNo"

触发变更事件(代码标签 绑定 变更事件,检测到标签内容变化,就会执行事件):每次参数变更,就会向后端发送一次请求,要数据

2 get和post的区别

2.1 前端访问后端就一种方法:浏览器输入后端地址

前端访问后端就一种方法:
浏览器输入后端地址
=实质:url+http与服务器交互方式(在前后端代码中)
=表达式:服务器IP/端口/项目名+交互方式
=表举例:哪栋楼/哪户/+取东西/放东西

2.2 URL资源描述符+http与服务器交互方式

URL全称:资源描述符。一个URL地址,就是描述一个网络上的资源
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。这4个对应着对这个资源的查,改,增,删4个操作。

2.3 GET一般用于获取/查询资源信息,POST一般用于更新资源信息

GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
获取/查询信息 =传递1或很少的参数:通过id、name查找某条数据

2.3 以下情况用post

  1. 无法使用缓存文件(更新服务器上的文件或数据库)
  2. ==向服务器发送大量数据(POST 没有数据量限制) ==
  3. 发送包含未知字符的用户输入时
  4. POST 比 GET 更稳定、更可靠、安全性更高
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前后端数据交互是指前端页面与后端服务器之间的数据传输和交流过程。在一个典型的应用中,前端负责展示数据和与用户交互,而后端则处理数据的存储、处理和逻辑运算。 以下是一种常见的前后端数据交互方式: 1. 客户端发送请求:前端通过发送HTTP请求向后端服务器请求数据或提交用户的操作。 2. 服务器处理请求:后端服务器接收到请求后,根据请求的类型和参数进行相应的处理。这可能包括查询数据库、计算、验证和其他业务逻辑。 3. 数据传输:后端服务器将处理结果封装成合适的数据格式(如JSON、XML等),通过HTTP响应返回给前端。 4. 客户端处理响应:前端接收到后端返回的数据后,进行解析和处理。可以根据需要更新页面内容、展示提示信息或执行其他操作。 在实际开发中,可以使用一些工具和技术来简化前后端数据交互的过程,例如: - 使用AJAX或Fetch API等技术实现异步请求,使页面能够在不刷新的情况下与后端交互。 - 前端框架(如React、Vue.js)和后端框架(如Spring Boot、Django)提供了一些便捷的函数和方法来处理数据交互。 - RESTful API设计规范可以约定前后端的接口规范,使双方能够更好地协作。 总之,前后端数据交互是实现一个完整应用的重要部分,通过合理的设计和技术选择,可以使前后端之间的数据传输更加高效和可靠。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值