vue2调接口的2种写法

方法一:

1、例如在  src/api/post.js 文件:

import request from '@/utils/request'


//获取数据
const get = (param) => {
    return request({
        url: '/api/post/get',//接口url
        method: 'post',
        params: param
    })
}

export default {
    get,
}

2、在需要调接口的vue文件引入api,命名为 newest

import newest from '@/api/newest'

3、可以通过 newest.list() 调用:

newest.get(paramObj).then(res =>{
                    if(res.code==0){
                        ... ...
                    }else{
                        ... ...
                    }
                })

方法二:

1、同上,在api.js文件:

import request from '@/utils/request'

export function get(paramObj) {
  return request({
    url: '/api/post/get',//接口url
    method: 'post',
    params: paramObj
  })
}

2、在需要调接口的vue文件引入api

import { get } from '@/api/newest'

3、直接 get() 调用:

get(paramObj).then(res =>{
                    if(res.code==0){
                        ... ...
                    }else{
                        ... ...
                    }
                })

方法二不能像方法一那样通过 obj.函数名 的方式调接口,如果该页面需要调的接口比较多的时候,在第二步 import 那里会写得很长。情况如下:

import { get , get1 , get2 , get3 , get4 ... ... } from '@/api/newest'

所以感觉方法一更好一些!

Vue2中进行跨域请求可以通过以下几方式解决: 1. 代理服务器:在Vue CLI 2.x版本中,可以在`config/index.js`文件中配置代理服务器。在`proxyTable`选项中添加以下代码: ```javascript proxyTable: { '/api': { target: 'http://api.example.com', // 目标服务器地址 changeOrigin: true, // 支持跨域 pathRewrite: { '^/api': '' // 将/api替换为空字符串,去掉/api前缀 } } } ``` 然后在代码中使用`/api`前缀来请求数据,例如`axios.get('/api/users')`。 2. JSONP:如果接口支持JSONP方式,可以使用Vue的`vue-jsonp`插件进行跨域请求。首先安装插件: ``` npm install vue-jsonp --save ``` 然后在代码中使用`this.$jsonp()`方法进行请求: ```javascript import VueJsonp from 'vue-jsonp'; Vue.use(VueJsonp); this.$jsonp('http://api.example.com/users').then(response => { // 处理响应数据 }).catch(error => { // 处理错误 }); ``` 3. CORS:如果后端接口支持CORS(跨域资源共享),可以直接在Vue代码中发送跨域请求。例如使用Axios库: ```javascript import axios from 'axios'; axios.get('http://api.example.com/users', { withCredentials: true }).then(response => { // 处理响应数据 }).catch(error => { // 处理错误 }); ``` 在请求中设置`withCredentials: true`以携带跨域请求的凭据(如Cookies)。 需要注意的是,在开发环境中通常是通过代理服务器解决跨域问题,而在生产环境中应该由后端服务器设置CORS策略来支持跨域请求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值