Ajax 异步请求

1. 什么是ajax?

客户端发送请求后,而我们的服务端响应一个页面|地址。而ajax响应的不在是地址或网页,而是==一个数据==

使用ajax必须具备:

1. 通过事件触发向服务器发送请求

2. 服务器响应的一定是数据。不在是地址或网页

2. 如何使用 ajax?

两种方式:

  1. 可以通过js完成原生的ajax请求。javascript
  2. 可以使用jquery实现ajax请求---别人封装原生js发送的ajax.

这里我们使用 jQuery

2.1. jQuery 使用 ajax 请求

注:\[\] 代表这个参数可以有也可以没有

$.get(url,data,callback,type);

$.post(url,data,callback,type);

  1. url: 服务器的地址
  2. data: 发送ajax请求时携带的数据
  3. callback: 回调函数---当服务器响应时会触发该函数
  4. type: 服务器响应的数据类型。默认text json

使用步骤:

  1. 引入 jQuery 文件

<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>

  1. 通过事件发请求

3. ajax服务器响应的数据类型?

有三种:

  1. text:文本类型--默认就是文本类型\[\]
  2. json: json对象类型---非常重要
  3. xml: xml类型---人工智能,微信支付。【了解】

4. 什么是 json 以及格式。

(在练习过程中,例如查询到一个带有学生信息的 list 集合 在往前端传的时候首先要将其转成 json 数据格式

)

JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。JSON

是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。

JSON的规则很简单:对象是一个无序的"'名称/值'对"集合。一个对象以"{"(左括号)开始,"}"(右括号)结束。每个"名称"后跟一个":"(冒号);"'名称/值'对"之间使用","(逗号)分隔。

//json对象

{"key":value,"key":value...}

axios 发送异步请求

用于发送ajax异步请求。之前使用的是jquery完成ajax异步请求。 企业中vue配合axios来完成异步请求

语法:

axios.get(url?key=value&key=value,).then(function(msg){})

axios.post(url,data).then(function(msg){})

1. axios 使用步骤

    1. 引入axios的文件

<%--引入vue--%>

<script src="js/vue.js"></script>

<%--引入axios文 件--%>

<script src="js/axios.min.js"></script>

    1. 创建div标签( 这里必须使用双标签)

<%--标签就使用div.--%>

<div id="app">

<button @click="fun()">点击</button>

编号:{{user.id}} <br>

姓名:{{user.name}} <br>

年龄:{{user.age}} <br>

</div>

    1. 创建vue对象并把该对象挂载到div标签上

2. 传递参数的种类

  1. query String params: 查询字符串参数。 地址栏传递
  2. form data: 表单参数 。 表单的提交传递
  3. request payload: 请求载荷 它传递的是json数据

request对象中getParamater方法只能接受上面前两种传递的参数。无法接受第三种传递的参数。 如果现在想接受第三种传递的参数值,那么你需要把第三种传参方法转化为上面的两种。 qs工具。

网页引入 qs 文件

<%--导入qs文件--%>

<script src="js/qs.min.js"></script>

3. element ui 使用步骤

  1. 引入相应的文件

    <%--引入elementui的css样式--%>

    <%--引入vue文件:必须先引入vue--%> <%--引入elementui的js文件--%>

4. 分页操作

使用 elementui 的分页组件

组件

复制代码
<el-pagination 
  @size-change="handleSizeChange" 
    @current-change="handleCurrentChange"
      :current-page="currentPage4":page-sizes="[100, 200, 300, 400]"
        :page-size="100";
          layout="total, sizes, prev, pager, next, jumper"
          :total="400">
</el-pagination>

@size-change="页面大小改变时触发的事件"

@current-change="当前页码改变时触发的事件"

current-page="当前显示的页码"

page-sizes="数组元素为展示的选择每页显示个数的选项

page-size="默认没有显示的大小"

total="总条数"

实现:

① 把开始渲染数据的请求修该为 携带当前页码(currentPage) 和 每页显示几条(pagesize) 的数据

② 在渲染数据的同时查找总条数然后放在一个集合里转换成 json 数据传给前端

相关推荐
2601_962106649 小时前
【Java Set综合实战】商品管理系统 + 图书收藏系统|Product、Book自定义类全套代码
java
RuoyiOffice10 小时前
SpringBoot+Vue3 凭证生命周期设计:审核、过账、冲销与反过账怎样保持账目一致
java·spring boot·事务·springboot3·财务系统·会计凭证·ruoyi office
2601_9621066410 小时前
HashMap入门|工号-姓名键值存储、两种遍历方式、根据key/value查
java
杨凯凡11 小时前
Spring Framework 7 API 版本管理实战:请求头路由、兼容迁移与废弃策略
java·rest api·springframework·spring boot 4·api版本管理
T_Wizard11 小时前
同一个问题写了 4 遍:官方 SDK / HTTP / Spring AI / LangChain4j,到底该选哪个
java·ai编程
hai_android11 小时前
AudioTrack 深度解析:从原理到实战
android·java·kotlin
斯维赤12 小时前
限流、熔断、降级,你真的分得清吗?
java·后端·架构
aiks_yuan14 小时前
Java CPU 100% 怎么排查:JDK 11 起 jstack 自带线程 CPU 时间,不用再 top -H 换算十六进制(JDK 8、11、17 实测)
java
Flynn Liang16 小时前
AiServices 源码级拆解:一个接口如何变成 RAG Agent
java·langchain·源码分析·rag·langchain4j·aiservices
Flynn Liang16 小时前
LangChain4j 1.23 架构全景:Java 大模型应用的 6 层抽象
java·langchain·大模型·rag·ai agent·langchain4j