vue项目开发,用webpack配置解决跨域问题

今天在本地开发时候碰到了跨域的问题,突然觉着跨域问题在所难免啊,之前没有没有碰到总觉着解决跨域很高大上的样纸,其实就是受限于网络的同源策略,跨域前后端都可以进行处理。

1,后端更改header

header(‘Access-Control-Allow-Origin:*‘);//允许所有来源访问
header(‘Access-Control-Allow-Method:POST,GET‘);//允许访问的方式 

2,使用jsonp进行跨域

getData () {
    var self = this
    $.ajax({
      url: ‘http://f.apiplus.cn/bj11x5.json‘,
      type: ‘GET‘,
      dataType: ‘JSONP‘,
      success: function (res) {
        self.data = res.data.slice(0, 3)
        self.opencode = res.data[0].opencode.split(‘,‘)
      }
    })
  }

3,使用webpack反向代理(项目中使用vue-cli脚手架搭建)

1,在config/index.js中的proxyTable添加如下代码:

proxyTable: {
      ‘/gp‘: {
        target: ‘http://10.0.67.65/uat_branch/IspWeb/‘,
        changeOrigin: true,
        pathRewrite: {
          ‘^/gp‘: ‘‘
        }
      }
    },

在公共的apiConfig中加入跨域的环境:

case 5:
      //跨域环境
      apiObj.baseUrl = ‘/gp/‘;
      apiObj.File_upload_URL = ‘‘;
      break

至此所有的请求接口类似:http://localhost:8080/gp/api/v1.0/user/login

尝试请求后发现该接口地址404,后发现:代理设置完成后需要重新 npm run dev

  

原文地址:https://www.cnblogs.com/tangjiao/p/9101747.html

时间: 2024-08-29 06:48:24

vue项目开发,用webpack配置解决跨域问题的相关文章

vue webpack配置解决跨域问题

现在基本项目都是实行前后端分离的原则,不管是ng 或者是vue 在开发中都无法避免跨域的这个问题 本人刚上手第一个vue项目,在调用api的时候出现了跨域的这个问题 这是封装好一个简单的post 请求 http.js post (url, data) { return axios({ method: 'post', baseURL: '/api', url, data: data, timeout: 10000, headers: { 'X-Requested-With': 'XMLHttpRe

webpack配置解决跨域问题target的配置

注意如果是域名:否则报错 proxy: { '/api': { target: 'http://www.baidu.com/', pathRewrite: {'^/api' : ''}, changeOrigin: true, // target是域名的话,需要这个参数, secure: false, // 设置支持https协议的代理 }, '/api2': { ..... } } 原文地址:https://www.cnblogs.com/wangshengli520/p/10600019.h

PhoneGap开发跨平台移动APP - 解决跨域资源共享

解决跨域资源共享 一.WebApi解决跨域资源共享. 开发中选择WebApi来作为服务端的数据接口,由于使用PhoneGap,就需要通过js来获取远程远程数据服务器的数据,由于同源策略的限制,这就涉及到跨域资源共享问题. 首先新建一个简单的WebApi项目, 使用微软的CORS解决方案,再Nugget中下载microsoft.aspnet.webapi.cors. 配置WebApiConfig: //这里先用*来测试,生产环境下,这样配置是不安全的,需要做一些限制.config.EnableCo

Vue项目中使用webpack配置了别名,引入的时候报错

chainWebpack(config) { config.resolve.alias .set('@', resolve('src')) .set('assets', resolve('src/assets')) .set('components', resolve('src/components')) }, 这是vue.config.js里的配置 使用的时候,要在别名前面加上~,这样就会告知加载器这是一个模块,而不是绝对路径 记住,在script部分或者js里引入的时候,不需要加 ~,直接用

vue-webpack项目本地开发环境设置代理解决跨域问题

前言: 一般跨域问题只要后端配置好的话,是不需要前端做处理的,但也不能保证你遇到的所有后端都能很好的处理这个问题,这个时候可能就需要前端设置代理解决这个问题了. 配置方法: 1. config/index.js proxyTable: { '/api': { target: 'http://192.168.8.8:8080', // 要访问接口的域名 // secure: false, // 如果是https接口,需要配置这个参数 changeOrigin: true, // 如果接口跨域,需要

webpack代理解决跨域问题

new WebpackDevServer(webpack(config), { hot:hot, inline: true, compress: true, //去掉真实ip的检测 disableHostCheck: true, stats: { chunks: false, children: false, colors: true }, historyApiFallback: true, proxy: { '/api/**/*': {//接口开头关键字 *表示全部 target: 'http

修改浏览器属性配置的作用---开发机上解决跨域的方式

开发阶段解决跨域问题,可以通过修改浏览器属性配置,来关闭浏览器的同源策略保护机制,从而实现解决跨域问题,有下面三种方式:1. MAC系统,终端输入代码段 "open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/admin/MyChromeDevUserData/" 2.window系统,cmd输入代码段 "C:\Program Files (

配置proxy解决跨域问题

用一个最简单的方法解决API资源请求跨域问题:http-proxy-middleware http-proxy-middleware不需要自己安装,在安装webpack过程中,会自动依赖安装到你的node_modules文件夹下,如果你发现没有,那么请自行安装 npm install --save-dev http-proxy-middleware 1.前端部署了nodejs服务器,采用app.listen()启动前端服务器,那么你只需要在你的js中添加下面几行代码即可 假设你的前端服务器js文

什么是跨域及怎么解决跨域问题?

什么是跨域? 这篇博文解释的挺清楚,我直接引用 https://blog.csdn.net/lambert310/article/details/51683775 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制. 所谓同源是指,域名,协议,端口均相同,只要有一个不同,就是跨域.不明白没关系,举个栗子: http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域) http: