vue中解决跨域问题_js跨域解决方案

vue中解决跨域问题_js跨域解决方案如果你是一个Web前端工程师,那么跨域这个问题肯定是绕不开的!1.创建vue.config.js设置devServer属性module.exports={devServer:{//webpack-dev-server配置host:’localhost’,port:8080,//配置本项目运行端口proxy:{…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

如果你是一个Web前端工程师,那么跨域这个问题肯定是绕不开的!???

1. 创建 vue.config.js

设置 devServer 属性

module.exports = { 
         
  devServer: { 
                   //webpack-dev-server配置
      host : 'localhost',       
      port : 8080,            //配置本项目运行端口
      proxy: { 
                   //配置代理服务器来解决跨域问题
          '/api': { 
   
              target: 'http://localhost:3000',      //配置要替换的后台接口地址
              changOrigin: true,                      //配置允许改变Origin
              pathRewrite: { 
   
                  '^/api': ''
              }
          },
      }
  },
}

2. axios 设置

import axios from 'axios'

export default function ({ 
    data}) { 
   
  const baseUrl = '/api'
  const server = axios.create({ 
   
    baseURL: baseUrl,
    timeout: 5000
  })

  return server(data)
}

3. 封装请求api

import request from '@/utils/http/request.js'
export function userListApi () { 
   
  return request ({ 
   
    data: { 
   
      url: '/userList',
      method: 'GET'
    }
  })
}

4. 发送请求

<script> import { 
      userListApi } from '@/api/user' export default { 
      name: 'Index', mounted () { 
      this.getUserList() }, methods: { 
      async getUserList () { 
      let result = await userListApi() console.log(result.data) } } } </script>

总结

解决跨域的办法其实还有很多,像 jsonp、cors、nginx 等…

其实在开发中一般情况下是后台来解决跨域的(我个人想法,不代表所有),但是如果非要前端来解决我们也有办法。记得刚开始接触跨域这个问题的时候,百思不得姐。最終還是有點理解了,最近在學習Vue再次碰到跨域的問題,就拿Vue再來解決一下跨域問題,記錄留念。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192441.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 宽带开启ipv6的方法(包含光猫改桥接和光猫改桥接后访问其管理界面以及路由器拨号)

    宽带开启ipv6的方法(包含光猫改桥接和光猫改桥接后访问其管理界面以及路由器拨号)移动宽带开启ipv6以及光猫改桥接后访问光猫管理界面的方法

    2022年10月8日
    2
  • RePlugin集成AndroidAutoSize

    RePlugin集成AndroidAutoSize一、屏幕适配你可能会问“都2021年了还折腾屏幕适配?直接用dp单位适配不好吗?”,确实,如果公司的UI设计师、产品经理以及老板,能明白为什么一套UI在不同设备上显现出来的一些差异并不是bug时,开发者直接用dp单位配合一些布局技巧来进行适配是可以的,但是,实现多数情况下并不是如此美好,他们更希望看到的是UI在不同屏幕上,仅仅只是缩放的区别,为了满足这种要求,应用第三方屏幕适配方案就非常有必要了。根据在网上查到的比较好的原生屏幕适配方案有两种:smallestWidth

    2022年6月6日
    34
  • Laravel 单设备登录

    Laravel 单设备登录

    2021年10月27日
    30
  • 系统性能提升优先法宝|缓存应用实践

    系统性能提升优先法宝|缓存应用实践

    2021年6月18日
    116
  • 数组的前缀和及查分数组

    数组的前缀和及查分数组1,前缀和主要适用场景是原始数组不会被修改的情况下,频繁查询某个区间的累加和。这里就不写前缀和的代码了,就是用一个数组记录下原有数组的前缀和。比如,prefix[i]就代表着nums[0…i-1]所有元素的累加和,如果我们想求区间nums[i…j]的累加和,只要计算prefix[j+1]-prefix[i]即可,而不需要遍历整个区间求和。(需要注意的是使用场景是频繁查询某个区间的累加和,而不需要对原始数组进行频繁修改)2,查分数组的主要适用场景是**频繁对原始数组的某个区间的元素进行增减。**比

    2022年6月11日
    45
  • anaconda3运行ipynb文件_如何打开ipynb文件

    anaconda3运行ipynb文件_如何打开ipynb文件#1、在官网下安装Anaconda3#2、在Anaconda3下打开ipynb文件##(1)在开始菜单栏找到Anaconda3文件夹->单击【JupyterNotebook】##(2)

    2022年8月5日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号