axios.js 使用

时间:2020-11-21
本文章向大家介绍axios.js 使用,主要包括axios.js 使用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

什么是 axios?

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

特性

  • 从浏览器中创建 XMLHttpRequests

  • 从 node.js 创建 http 请求

  • 支持 Promise API

  • 拦截请求和响应

  • 转换请求数据和响应数据

  • 取消请求

  • 自动转换 JSON 数据

  • 客户端支持防御 XSRF

发送表单数据

默认情况下,axios将JavaScript对象序列化为JSON。 要以application / x-www-form-urlencoded格式发送数据,您可以使用以下选项之一。

期待格式:key1=value1&key2=value2...

默认格式:{kye1:avlue1,key2:value2}

浏览器脚本中

  • 在浏览器中,您可以使用URLSearchParams API,如下所示:
const params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');
axios.post('/foo', params);

请注意,所有浏览器都不支持URLSearchParams(请参阅caniuse.com),但可以使用polyfill(确保填充全局环境)。

使用qs库编码数据

const qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 }));

显式地设置响应头

import qs from 'qs';
const data = { 'bar': 123 };
const options = {
  method: 'POST',
  headers: { 'content-type': 'application/x-www-form-urlencoded' },
  data: qs.stringify(data),
  url,
};
axios(options);

序列化

  • 将object对象序列化为 application / x-www-form-urlencoded格式字符串发送
axios.post('http://127.0.0.1:5000/api/addhero',$('#form').serialize()).then()

接收非表单数据(Json)

  • 在node.js中,您可以使用querystring模块,如下所示:
const querystring = require('querystring');
axios.post('http://something.com/', querystring.stringify({ foo: 'bar' }));

或者,也可以使用qs库。

部分内容摘自axios中文文档