跨域請求

以下情況即為跨域(不同源):
1、協(xié)議不同:http 和 https
2、域名不同: http://www.baidu.comhttp://www.baidu2.com
3、域名前綴不同: http://www.baidu.comhttp://ww.baidu.com
4、端口號不同: http://www.baidu.com:80(默認80可以不用寫) 和 http://www.baidu.com:81

1、axios完成跨域
在vue.config.js中添加配置,詳細見vue/cli3 官方文檔配置文檔

 devServer: {
    port: port,
    open: true,
    overlay: {
      warnings: false,
      errors: true
    },
    proxy: {
      '^/api': {
        target: `http://localhost.com`, // 對應自己的接口
        changeOrigin: true, // 是否跨域
        ws: true, // 是否websockets跨域
        pathRewrite: {
          '^/api': '/'// 代理路徑的代理名
        }
      }
    }
    // after: require('./mock/mock-server.js') 注釋掉
  },
proxy: {
      // change xxx-api/login => mock/login
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        target: `http://127.0.0.1:${port}/mock`,
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''
        }
      }
    },

2、使用vue-rousource完成

一、安裝:

npm install vue-resource --save

二、main.js引入 vue-resource
···
import VueResource from 'vue-resource'
Vue.use(VueResource)
···

this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su', {
        params: {
          wd: 'axios'
        },
        jsonp: 'cb'
      }).then(function(res) {
        this.arr = res.data.s
      })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容