Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 594|回复: 0

解决vue代理和跨域问题

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-9-2 12:22:41 | 显示全部楼层 |阅读模式

    一、安装vue-resource插件

    安装命令:npm install vue-resource --save 

    安装完之后在根目录下的package.json检查一下插件的版本

     

     

    在rourer-index.js下引入文件

     

    1.import Resource from 'vue-resource'

    2.Vue.use(Resource)

    引入vue-resource后,可以基于全局的Vue对象使用http,也可以基于某个Vue实例使用http

     

    二、安装axios插件

    安装axios命令:npm install --save axios

    在后台服务文件(server.js)中引入

    var axios = require('axios')

     

    新建一个公共Js文件,用于存放httpserver

     

     

    在新建的公共Js文件中写入:

    import axios from 'axios' // 引入axios插件
    export function getHttp (url, callFun) { //get请求方法
       axios.get(url).then(callFun)
       . catch ( function (err){
         console.log(err)
       })
    }

     三、proxy代理

    config-index.js文件下找到proxyTable设置代理

    例如我的vue项目链接是 localhost:8080 后台数据地址是 localhost:8081/api/seller(端口不一样)

    proxyTable: {
        '/api' : {
         target: 'http://localhost:8081' ,
         changeOrigin: true ,
         pathRewrite: {
          '^/api' : '/api' // pathRewrite方法重写url, 这样配置出来的url为http://localhost:8081/api/seller
          // '^/api': '/' // pathRewrite方法重写url, 这样配置出来的url为http://localhost:8081/seller
         }
        }
       }
     
    四、数据调用
     
    在想调用数据的vue页面中写入如下代码
     
    js部分
    <script>
    import {getHttp} from '../static/js/httpserver.js'
    export default {
      data () {
       return {
        seller: {}
       }
      },
      methods: {
       shangjia: function () {
        let url = '/api/seller'
        getHttp(url, function (res) {
         res = res.data
         console.log(res)
        })
       }
      }
    }
    </script>
     
    html部分
    < template >
    < div id = "app" >
      < div @ click = 'shangjia()' >< router-link to = '/seller' >商家</ router-link ></ div >
    < router-view ></ router-view >
    </ div >
    </ template >
    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-18 17:12 , Processed in 0.074196 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表