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:
Post:
(三)、常用配置****
只有 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套接字的路径。