nuxt数据交互

6 篇文章 0 订阅
5 篇文章 0 订阅

1.nuxt做数据交互需要依靠 @nuxtjs/axios@nuxtjs/proxy

npm install @nuxtjs/axios  --save --registry=https://registry.npm.taobao.org
npm install @nuxtjs/proxy --save --registry=https://registry.npm.taobao.org

2.在nuxt.config.js中进行配置

modules:[
    '@nuxtjs/axios'
]

3.使用axios

async asyncData({$axios}){
    const res = await $axios({url:'接口'})
}

4.处理跨域请求, 在nuxt.config.js中进行配置

        axios:{
                proxy:true,//  开启跨域行为
                prefix:'/api/v1/blogApi',  //配置基本的url地址 
          },
        
        proxy:{
                '/api':{
                target:'http://www.mileduo.com',  //  代理转发的地址
                pathRewrite:{
                // '^/api':''                // 找到地址中的api并替换成空    
                       }
                }
        
          },

5.定义拦截器,修改nuxt.config.js

plugins:[
    {
        src:'~/plugins/axios',
        'ssr':true     //  服务端渲染
    }
]

6.书写axios.js

export default function({$axios,redirect,route,store}){
    // 基本配置
    $axios.defaults.timeout = 1000
    $axios.defaults.validateStatus = (status)=>{
            return status >= 200 && status < 600
    }
    // 请求拦截
    $axios.onRequest(config=>{
        config.headers.token = ''
        return config
    })
    // 相应拦截
    $axios.onResponse(res\=>{
        returnres.data
    })
    // 错误处理
    $axios.onError(error\=>{
        return error
    })
}

7.Promise返回值

return new Promise(resolve=>{

    resolve(res.data)

})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值