Axios异步框架及案例

简介: Axios异步框架及案例

一、Axios概述

Axios对原生的AJAX进行封装,简化书写


Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。


特性

  • 从浏览器创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防御XSRF


官网地址:起步 | Axios 中文文档 | Axios 中文网 (axios-http.cn)

https://www.axios-http.cn/docs/intro

二、Axios入门案例

1、引入axios的js文件

e3dacbec52824204a472a581f24bd11b.png

b1f3d3ce06cf4f53af368c58f0409c65.png

在html中引入:

<script src="js/axios-0.18.0.js"></script>

2、使用axios发送请求(get及post),并获取响应结果

<script>
    //1.get
    axios({
        method:"get",
        url:"http://localhost:8080/ajax-demo/axiosServlet?username=zhangsan"
    }).then(function (resp) {
        alert(resp.data);
    })
    //2.post
    axios({
        method:"post",
        url:"http://localhost:8080/ajax-demo/axiosServlet",
        data:"username=zhangsan"
    }).then(function (resp) {
        alert(resp.data);
    })
</script>

AxiosServlet代码:

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/axiosServlet")
public class AxiosServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("get...");
        //1. 接收请求参数
        String username = request.getParameter("username");
        System.out.println(username);
        //2.响应数据
        response.getWriter().write("hello Axios");
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("post...");
        this.doGet(request, response);
    }
}

执行结果:


访问02-axios-demo.html时get请求结果:

8b6c4fb1173b4bc19a25e12caada9a50.png

访问02-axios-demo.html时post请求结果及控制台结果:

94d0ea985445473b8e16235c3e3ac2d6.png

744f07e01f484d6abad230641c74c042.png

三、Axios请求方式别名

为了方便起见,Axios已经为所有支持的请求方法提供了别名

axios.get(url[,config[)
axios.delete(url[,config])
axios.head(url[,config])
axios.options(url[,config])
axios.post(url[,data[,config]])
axios.put(url[,data[,config]])
axios.patch(url[,data[,config]])


方法名 作用
get(url) 发送GET请求
post(url,请求参数) 发送POST方式请求

发送get请求

axios.get("url")
.then(function (resp){
alert(resp.data);
});

示例:

 

    axios.get("http://localhost:8080/ajax-demo/axiosServlet?username=zhangsan").then(function (resp) {
        alert(resp.data);
    })

发送post请求

axios.get("url","参数")
.then(function (resp){
alert(resp.data);
});

示例:

    axios.post("http://localhost:8080/ajax-demo/axiosServlet","username=zhangsan").then(function (resp) {
        alert(resp.data);
    })

以上两个示例相当于入门案例中的起别名的简化方式,更加方便一点。简化书写相对来说阅读性变差。

目录
相关文章
|
8月前
|
JavaScript 前端开发
vue框架中的axios
Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。
42 0
|
4月前
|
JSON JavaScript 前端开发
IDEA搭建vue-cli | vue-router | 排错思路、Webpack、Axios、周期、路由、异步、重定向
IDEA搭建vue-cli | vue-router | 排错思路、Webpack、Axios、周期、路由、异步、重定向
96 0
|
5月前
|
JavaScript
Vue框架Element UI教程-axios表格分页(九)
Vue框架Element UI教程-axios表格分页(九)
66 0
|
5月前
|
JSON JavaScript 数据格式
Vue框架Element UI教程-axios请求数据(六)
Vue框架Element UI教程-axios请求数据(六)
44 0
|
7月前
|
JavaScript 安全
Vue综合案例与axios
Vue综合案例与axios
65 0
|
10月前
|
JavaScript 前端开发
Vue框架和Axios实战:音乐播放器项目-音乐列表
Vue框架和Axios实战:音乐播放器项目-音乐列表
|
11月前
|
JavaScript 前端开发 中间件
前端网红框架的插件机制全梳理(axios、koa、redux、vuex)
前端中的库很多,开发这些库的作者会尽可能的覆盖到大家在业务中千奇百怪的需求,但是总有无法预料到的,所以优秀的库就需要提供一种机制,让开发者可以干预插件中间的一些环节,从而完成自己的一些需求。
|
JavaScript NoSQL API
[踩坑]Axios请求验证码踩坑日记之异步执行
今天用Vue写一个登录页面获取验证码,但是不同寻常的是,我这里接入了极验认证。
170 0
|
JavaScript
vue再读58-表格案例--axios-删除商品
vue再读58-表格案例--axios-删除商品
112 0
vue再读58-表格案例--axios-删除商品
|
JavaScript
vue再读57-表格案例--axios-列表渲染
vue再读57-表格案例--axios-列表渲染
75 0
vue再读57-表格案例--axios-列表渲染