Axios知识
安装:npm方式npm install axios直接方式script srchttps://unpkg.com/axios/dist/axios.min.js/script实例// 发起一个post请求 axios({ method: post, url: /user/12345, data: { // 向后端传参数 firstName: Fred, lastName: Flintstone } }); // 在 node.js 用GET请求获取远程图片 axios({ method: get, url: http://bit.ly/2mTM3nY, responseType: stream }) .then(function (response) { //从后端返回的数据 用 .then返回 response.data.pipe(fs.createWriteStream(ada_lovelace.jpg)) }); // 发起一个 GET 请求 (默认请求方式) axios(/user/12345);请求配置{ // url 是用于请求的服务器 URL url: /user, // method 是创建请求时使用的方法 method: get, // 默认值 // baseURL 将自动加在 url 前面除非 url 是一个绝对 URL。 // 它可以通过设置一个 baseURL 便于为 axios 实例的方法传递相对 URL baseURL: https://some-domain.com/api/, // transformRequest 允许在向服务器发送前修改请求数据 // 它只能用于 PUT, POST 和 PATCH 这几个请求方法 // 数组中最后一个函数必须返回一个字符串 一个Buffer实例ArrayBufferFormData或 Stream // 你可以修改请求头。 transformRequest: [function (data, headers) { // 对发送的 data 进行任意转换处理 return data; }], // transformResponse 在传递给 then/catch 前允许修改响应数据 transformResponse: [function (data) { // 对接收的 data 进行任意转换处理 return data; }], // 自定义请求头 headers: {X-Requested-With: XMLHttpRequest}, // params 是与请求一起发送的 URL 参数 // 必须是一个简单对象或 URLSearchParams 对象 params: { ID: 12345 }, // paramsSerializer 是一个可选配置允许您自定义序列化 params。 paramsSerializer: { //自定义编码器函数以迭代方式发送键/值对。 encode?: (param: string): string { /* 在这里进行自定义操作并返回转换后的字符串 */ }, // 整个参数的自定义序列化器函数。允许用户模仿 1.x 之前的行为。 serialize?: (params: Recordstring, any, options?: ParamsSerializerOptions ), //用于格式化参数中数组索引的配置。 indexes: false // 三个可用选项 // (1) indexes: null (导致没有括号), // (2) (default) indexes: false (导致空括号), // (3) indexes: true (引导空字符串). }, // data 是作为请求体被发送的数据 // 仅适用 PUT, POST, DELETE 和 PATCH 请求方法 // 在没有设置 transformRequest 时则必须是以下类型之一: // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams // - 浏览器专属: FormData, File, Blob // - Node 专属: Stream, Buffer data: { firstName: Fred }, // 发送请求体数据的可选语法 // 请求方式 post // 只有 value 会被发送key 则不会 data: CountryBrasilCityBelo Horizonte, // timeout 指定请求超时的毫秒数。 // 如果请求时间超过 timeout 的值则请求会被中断 timeout: 1000, // 默认值是 0 (永不超时) // withCredentials 表示跨域请求时是否需要使用凭证 withCredentials: false, // default // adapter 允许自定义处理请求这使测试更加容易。 // 返回一个 promise 并提供一个有效的响应 参见 lib/adapters/README.md。 adapter: function (config) { /* ... */ }, // auth HTTP Basic Auth auth: { username: janedoe, password: s00pers3cret }, // responseType 表示浏览器将要响应的数据类型 // 选项包括: arraybuffer, document, json, text, stream // 浏览器专属blob responseType: json, // 默认值 // responseEncoding 表示用于解码响应的编码 (Node.js 专属) // 注意忽略 responseType 的值为 stream或者是客户端请求 // Note: Ignored for responseType of stream or client-side requests responseEncoding: utf8, // 默认值 // xsrfCookieName 是 xsrf token 的值被用作 cookie 的名称 xsrfCookieName: XSRF-TOKEN, // 默认值 // xsrfHeaderName 是带有 xsrf token 值的http 请求头名称 xsrfHeaderName: X-XSRF-TOKEN, // 默认值 // onUploadProgress 允许为上传处理进度事件 // 浏览器专属 onUploadProgress: function (progressEvent) { // 处理原生进度事件 }, // onDownloadProgress 允许为下载处理进度事件 // 浏览器专属 onDownloadProgress: function (progressEvent) { // 处理原生进度事件 }, // maxContentLength 定义了node.js中允许的HTTP响应内容的最大字节数 maxContentLength: 2000, // maxBodyLength仅Node定义允许的http请求内容的最大字节数 maxBodyLength: 2000, // validateStatus 定义了对于给定的 HTTP状态码是 resolve 还是 reject promise。 // 如果 validateStatus 返回 true (或者设置为 null 或 undefined) // 则promise 将会 resolved否则是 rejected。 validateStatus: function (status) { return status 200 status 300; // 默认值 }, // maxRedirects 定义了在node.js中要遵循的最大重定向数。 // 如果设置为0则不会进行重定向 maxRedirects: 5, // 默认值 // socketPath 定义了在node.js中使用的UNIX套接字。 // e.g. /var/run/docker.sock 发送请求到 docker 守护进程。 // 只能指定 socketPath 或 proxy 。 // 若都指定这使用 socketPath 。 socketPath: null, // default // httpAgent 和 httpsAgent 分别定义了在 node.js 中执行 http 和 https 请求时使用的自定义代理。 // 这允许添加诸如 keepAlive 之类的选项这些选项在 Node.js v19.0.0 之前默认未启用。 // 在 Node.js v19.0.0 之后不再需要自定义代理来启用 keepAlive // 因为 http.globalAgent 已经默认启用了 keepAlive。 httpAgent: new http.Agent({ keepAlive: true }), httpsAgent: new https.Agent({ keepAlive: true }), // proxy 定义了代理服务器的主机名端口和协议。 // 您可以使用常规的http_proxy 和 https_proxy 环境变量。 // 使用 false 可以禁用代理功能同时环境变量也会被忽略。 // auth表示应使用HTTP Basic auth连接到代理并且提供凭据。 // 这将设置一个 Proxy-Authorization 请求头它会覆盖 headers 中已存在的自定义 Proxy-Authorization 请求头。 // 如果代理服务器使用 HTTPS则必须设置 protocol 为https proxy: { protocol: https, host: 127.0.0.1, port: 9000, auth: { username: mikeymike, password: rapunz3l } }, // see https://axios-http.com/zh/docs/cancellation cancelToken: new CancelToken(function (cancel) { }), // decompress indicates whether or not the response body should be decompressed // automatically. If set to true will also remove the content-encoding header // from the responses objects of all decompressed responses // - Node only (XHR cannot turn off decompression) decompress: true // 默认值 }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2469669.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!