所有分类
  • 所有分类
  • 后端开发
vuejs里对于API接口的处理、封装以及跨域方法应用

vuejs里对于API接口的处理、封装以及跨域方法应用

运行环境:Windows
所需软件:Word
资源类型:简历
资源下载
仅限注册用户下载,请先
解压密码:www.icz.com 使用版权:资源收集于网络,版权归原创者所有

500.jpg

对中小企业而言,vue应用越来越多,学习vue的成本比react低,入门相对简单。换句话说,如果你想学好,你仍然需要花很多事件来研究。你可以注意Web前端之家,一起学习。

今日我们一起学习:vuejsAPI接口的处理及包装方法的应用。

API接口基础应用

在原生javascript和JQ中,我们的前端处理接口通常使用get和post。在vueJs也是如此,只是我们多了一个axios。

处理vue中的接口,首先要安装axios。操作方法如下:

 

npm install vue-axios --save
npm install qs.js --save  ///这一步可以忽略不计。它的功能是将json格式直接转换为data所需的格式

安装后,我们将其应用于vue配置文件,查看代码:

import Vue from 'vue'
import axios from 'axios'
Vue.prototype.$axios = axios    ////全局注册,使用方法如下:this.$axios
Vue.prototype.qs = qs           ///全局注册,用法如下:this.qs

然后应用于项目:

<script>
    export default{
        data(){
            return{
                userId:666,
          token:'',
            }
        },
        created(){
            this.$axios({
                method:'post',
                url:'api',
                data:this.qs.stringify({    ///这是发送给后台的数据
                      userId:this.userId,
                      token:this.token,
                })
            }).then((response) =>{          ////这里使用ES6语法
                console.log(response)       ///成功返回请求的数据
            }).catch((error) =>
                console.log(error)       ///请求失败返回的数据
            })
        }
    }</script>

这是处理api接口最简单的应用程序。

如果项目中有很多接口呢?那我们就不能这样做了。我们使用本地js处理方法进行包装。

封装

让我们举一个非常简单的例子来解释:

/** 
 * 统一管理api接口
 */
import { get, post } from './axios';
/**
 * @param {string} params 
 * 我们定义了topics方法
 * 这种方法有一个参数params
 * params是我们请求接口时携带的参数对象
 * 然后调用我们包装的post方法
 * post方法的第一个参数是我们的接口地址
 * 第二个参数是topicsparams参数
 * 即请求接口时携带的参数对象
 * 最后,topics通过export导出。
 */
// 用户相关接口
export const login = params => post('/users/login', params);//登录
export const logout = params => post('/users/logout', params);//登出
export const uplodHead = params => post('/users/uploadHead', params);///修改头像
export const bannerTextList = params => post('/query/bannerTextList', params);//查询轮播内容
export const getArticle = params => post('/query/getArticle', params);//普通文章详情
export const uploadBgImg = params => post('/upload/uploadBgImg', params);////普通文章页面背景
export const getBannerBg = params => post('/query/getBannerBg', params);///查询普通文章页面背景
...

从上面的代码可以看出,我们包装了每个功能api,并将其放置在api中.在js中,这样处理,方便我们在其他页面应用。

现在我们要用它,先用公共index.在js配置下,

import * as api from './api'
export default api

接下来,我们可以将其应用于其他页面。

 //先引入
import { getArticle } from '..tp/api.js' 

//使用
getArticle(这是参数).then((res)=>{        
	console.log(res);
})

跨域

众所周知,在处理API接口时,我们经常会遇到跨域问题。在vueJS中,我们处理跨域的方法相对简单。以代码为例;

在vue.config.js配置如下:

module.exports = {
    publicPath: buidLocal ? '' : '/',
    outputDir: buidLocal ? 'public/static/YhIndex_app' : 'dist',
    assetsDir: 'static',
    lintOnSave: false,
    productionSourceMap: !buidLocal, // 本地包编译不需要SourceMapp
    filenameHashing: !buidLocal, // 本地包编译不需要在文件名中添加hash
    devServer: {
        host: '0.0.0.0',
        port: '8086',
        proxy: {
            '/static/trade.html': {
              target: 'http://localhost:8086',
              pathRewrite: {
                  '/static/trade.html': '/trade.html',
              }
            },
            '/bo/call': {
                target: `http://192.168.35.88:10576`, 
                changeOrigin: true,
            },
            '/login': {
                target: `http://192.168.35.88:10576`, 
                changeOrigin: true,
            },
            '/upload_image': {
                target: `http://192.168.35.88:10576`, 
                changeOrigin: true,
            },
            '/task': {
                target: `http://192.168.35.88:8920`, 
                changeOrigin: true,
            }
          },
    }
};

当然,这是项目中的DEMO代码,如果要应用,可以根据自己的项目配置进行修改。

总结

关于在vuejs中处理api接口的方法和应用程序,这些内容可能不够详细。如果基础不好或者看不懂,可以加群咨询或者留言。

资源下载
下载价格免费
解压密码:www.icz.com 使用版权:资源收集于网络,版权归原创者所有
运行环境:Windows
所需软件:Word
资源类型:简历
原文链接:https://www.icz.com/technicalinformation/web/vue2/2023/04/8310.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?