vue:axios二次封装,接口统一存放、封装jsonp+promise

简介: 基于框架:vue一、基于http库:axios基本用法:1.通过node安装:npm install axios  2. 在项目目录的src文件夹下新建apis文件夹,在该文件夹内新建index.

基于框架:vue

一、基于http库:axios

基本用法:

1.通过node安装:npm install axios

  2. 在项目目录的src文件夹下新建apis文件夹,在该文件夹内新建index.js文件,内容如下代码块:

对接口设置拦截器

img_b3b8f7b7401cacea5a7d1821b251aba7.png
img_0edea129ee68327294f103d2c31149f4.png

接口请求数据

img_7ecd529425cb95a6b1e6cb186073d76d.png

接着要在src目录下边创建一个store文件,然后在文件里边创建一个actions.js文件和index.js文件

在actions.js文件里边对请求数据进行封装

img_007e06f52358a3e9810c55c56238a6e8.png

在index.js文件引入actions.js文件,并在main.js文件下边引入store下边的index.js文件并将store暴露出去

img_80434fc189ce27bdc0c18cfc64d0d089.png

二、jsonp原理

通过动态创建<script>标签,src指向数据地址,其中callback参数作为函数的名来包裹住JSON数据返回客户端,也就是说,只要服务端提供的js脚本是动态生成的就行了,这样调用者可以传一个参数告诉服务端“我想要一段xx函数的js代码,请你返回给我”,于是服务器就可以按照客户的需求来生成js脚本并响应了。

安装:jsonp  npm install jsonp

安装qs  npm install qs (由于的jsonp请求都是get请求,所以引入qs)

在需要请求接口的文件引入jsonp

img_e259ff4aab6ee1690428f910d4d493c8.png

首先查看携带大参数及参数格式

img_3d2a5e9b1f4370265a1697c81b53d4a8.png

对参数和jsonp请求做封装

img_d4687d96ba0c611fbf78d1e347f492d4.png

调用上边的函数

img_45c1fba75a2aebecee05d3839f97e007.png

以上当服务端返回的数据是jsonp格式的时候,vue中可以使用jsonp插件来处理。

目前在自己的项目组件化中使用,有写的不对的地方欢迎大家留言指出~

相关文章
|
7月前
|
JavaScript 前端开发 开发者
vue中使用axios请求post接口,请求会发送两次
vue中使用axios请求post接口,请求会发送两次
|
7月前
axios全局做节流,解决多次点击导致多次请求接口
本文介绍了如何在Axios请求中实现全局节流,以防止用户快速多次点击导致重复发送相同请求的问题。
139 2
|
7月前
|
JavaScript 前端开发
vue配合axios连接express搭建的node服务器接口_简单案例
文章介绍了如何使用Express框架搭建一个简单的Node服务器,并使用Vue结合Axios进行前端开发和接口调用,同时讨论了开发过程中遇到的跨域问题及其解决方案。
127 0
vue配合axios连接express搭建的node服务器接口_简单案例
|
6月前
|
JavaScript API 开发工具
vue尚品汇商城项目-day02【11.对axios二次封装+12.接口统一管理】
vue尚品汇商城项目-day02【11.对axios二次封装+12.接口统一管理】
65 0
|
9月前
|
前端开发 JavaScript
Vue 中 Promise 的then方法异步使用及async/await 异步使用总结
Vue 中 Promise 的then方法异步使用及async/await 异步使用总结
249 1
|
8月前
|
前端开发 JavaScript
VUE——Uncaught (in promise) TypeError: Cannot read property '__esModule' of undefined
VUE——Uncaught (in promise) TypeError: Cannot read property '__esModule' of undefined
206 0
|
9月前
|
前端开发 JavaScript
js 等待接口访问成功后执行指定代码【3种方法】(含async await Promise的使用)
js 等待接口访问成功后执行指定代码【3种方法】(含async await Promise的使用)
345 1
|
10月前
|
JavaScript 前端开发
vue实现循环发起多个异步请求——Promise.all()与Promise.race()
vue实现循环发起多个异步请求——Promise.all()与Promise.race()
425 1
|
9月前
|
应用服务中间件
前后端数据交互之axios的路径怎样找?axios的路径是那个,是你打开Tomcat之后,出现的路径+你项目写的接口路径
前后端数据交互之axios的路径怎样找?axios的路径是那个,是你打开Tomcat之后,出现的路径+你项目写的接口路径
|
9月前
|
JavaScript API
vue 异步网络请求 axios 【实用教程】(含访问本地接口)
vue 异步网络请求 axios 【实用教程】(含访问本地接口)
125 0