Asios发请求案例说明

154 阅读1分钟

Asios发请求案例说明****

一、 Axios概述Axios中文文档

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

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

3. 特性****

从浏览器创建XMLHttpRequests;​

从 node.js 创建http请求;

支持Promise API;

拦截请求和响应;

转换请求和响应数据;

取消请求;

自动转换JSON数据;

客户端支持防御XSRF;

 

二、Axios 基本使用****

(一)、原生js引入

使用 jsDelivr CDN:

    使用axios发送请求

   

    <script src="cdn.jsdelivr.net/npm/axios/d…

    <button onclick="sendGetRequest()">发送GET请求

    <button onclick="sendPostRequest()">发送POST请求

 

   

        // 1.直接写法

        function sendGetRequest() {

            // 发送GET请求

            axios.get('jsonplaceholder.typicode.com/todos/1')

                .then(function (response) {

                    console.log(response.data);

                })

                .catch(function (error) {

                    console.log(error);

                });

 

              //发送GET请求第二种写法

            axios({

                method:"get",

                url:"jsonplaceholder.typicode.com/todos/1"

            }).then(function (response) {

                console.log(response.data);

            }).catch(function (error) {

                console.log(error);

            });

        }

 

        function sendPostRequest() {

            // 发送POST请求

            axios.post('jsonplaceholder.typicode.com/posts', {

                title: 'foo',

                body: 'bar',

                userId: 1

            })

            .then(function (response) {

                console.log(response.data);

            })

            .catch(function (error) {

                console.log(error);

            });

 

            //2.发送POST请求第二种写法

            axios({

                method:"post",

                url:"jsonplaceholder.typicode.com/posts",

                data:{

                    title: 'foo',

                    body: 'bar',

                    userId: 1

                }

            }).then(function (response) {

                console.log(response.data);

            }).catch(function (error) {

                console.log(error);

            });

        }

   

 

(二)运行结果预览

Get:

image.png Post:

  image.png

(三)、常用配置****

只有 url 是必需的。如果没有指定 method ,请求将默认使用 GET 方法。****

baseURL:设定请求的URL前缀。

headers:设定请求头信息。

params:设定请求URL参数。

paramsSerializer:设定对参数的序列化方法。

data:设定请求体的数据。

timeout:设定请求的超时时间,单位为毫秒。

withCredentials:设定是否允许发送携带跨域请求的cookie。

xsrfCookieName:设定发送携带防跨站请求伪造(XSRF)token的cookie的名称。

xsrfHeaderName:设定发送携带防跨站请求伪造(XSRF)token的HTTP头部的名称。

maxContentLength:设定响应内容的最大长度。

validateStatus:设定判断请求是否成功的函数。

maxRedirects:设定最大重定向数量。

socketPath:设定用于UNIX套接字的路径。