前端Ajax异步请求之小白教程(下)

本文是Ajax异步请求的小白教程下篇,主要讲解如何使用Axios和JSON实现品牌列表查询与添加功能。包括前端发送无参数查询请求、后端处理查询逻辑、前端接收并展示数据,以及前端添加数据的实现细节,涉及前后端交互、JSON数据处理等关键步骤。
摘要由CSDN通过智能技术生成

在这里插入图片描述

3,Ajax 案例

6.1 需求

使用Axios + JSON 完成品牌列表数据查询和添加。

6.2 查询所有功能

如上图所示就该功能的整体流程。前后端需以 JSON 格式进行数据的传递;由于此功能是查询所有的功能,前端发送 ajax 请求不需要携带参数,而后端响应数据需以如下格式的 json 数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BCts8EMk-1642766224445)(assets/image-20210831090839336.png)]

6.2.1 环境准备

百度网盘资源
链接:https://pan.baidu.com/s/1FXY1jZaCBlkvWkvUES56nQpwd=opdj
提取码:opdj
–来自百度网盘超级会员V2的分享

将 以上网盘中 brand-demo 工程拷贝到我们自己 工作空间 ,然后再将项目导入到我们自己的 Idea 中。

注意:

  • 在给定的原始工程中已经给定一些代码。而在此案例中我们只关注前后端交互代码实现
  • 要根据自己的数据库环境去修改连接数据库的信息,在 mybatis-config.xml 核心配置文件中修改
6.2.2 后端实现

com.ligong.web 包下创建名为 SelectAllServletservlet,具体的逻辑如下:

  • 调用 service 的 selectAll() 方法进行查询所有的逻辑处理
  • 将查询到的集合数据转换为 json 数据。我们将此过程称为 序列化;如果是将 json 数据转换为 Java 对象,我们称之为 反序列化
  • 将 json 数据响应回给浏览器。这里一定要设置响应数据的类型及字符集 response.setContentType("text/json;charset=utf-8");

SelectAllServlet 代码如下:

@WebServlet("/selectAllServlet")
public class SelectAllServlet extends HttpServlet {
    private BrandService brandService = new BrandService();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1. 调用Service查询
        List<Brand> brands = brandService.selectAll();

        //2 把集合转换成json
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(brands);

        //3. 响应数据  application/json   text/json
        response.setContentType("text/json;charset=utf-8");
        response.getWriter().write(jsonString);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}
6.2.3 前端实现
  1. 引入 js 文件

brand.html 页面引入 axios 的 js 文件

<script src="js/axios-0.18.0.js"></script>
  1. 绑定 页面加载完毕 事件

brand.html 页面绑定加载完毕事件,该事件是在页面加载完毕后被触发,代码如下

window.onload = function() {
	
}
  1. 发送异步请求

在页面加载完毕事件绑定的匿名函数中发送异步请求,代码如下:

 //2. 发送ajax请求
axios({
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值