薰 风 2021-06-26 13:07 采纳率: 63.3%
浏览 265
已采纳

前端vue中一直报跨域,以下如何解决

1接口地址 http://film.glkjjt.com/api/Movie/New  这个地址直接放在浏览器中能运行

2在main.js中的代码

import Vue from "vue";

import App from "./App";

import router from "./router";

import axios from "axios";

Vue.prototype.$http = axios;

axios.defaults.baseURL = "http://film.glkjjt.com/api";

Vue.config.productionTip = false;

new Vue({

  el: "#app",

  router,

  components: { App },

  template: "<App/>"

});

3.在config中index.js中的代码

"use strict";

const path = require("path");

module.exports = {

  dev: {

    assetsSubDirectory: "static",

    assetsPublicPath: "/",

  // 在proxyTable中配置的跨域

    proxyTable: {

      "/api": {

        target: "http://film.glkjjt.com",

        changeOrigin: true,

        pathRewrite: {

          "^/api": ""

        }

      }

    },

    host: "localhost", 

    port: 8080, 

    autoOpenBrowser: false,

    errorOverlay: true,

    notifyOnErrors: true,

    poll: false,

    devtool: "cheap-module-eval-source-map",

    cssSourceMap: true

  },

  build: {

    index: path.resolve(__dirname, "../dist/index.html"),

    assetsRoot: path.resolve(__dirname, "../dist"),

    assetsSubDirectory: "static",

    assetsPublicPath: "/",

    productionSourceMap: true,

    devtool: "#source-map",

    productionGzip: false,

    productionGzipExtensions: ["js", "css"],

    bundleAnalyzerReport: process.env.npm_config_report

  }

};

4在components文件夹中HelloWorld.vue中的代码

template>

  <div class="hello">

    <h1>{{ msg }}</h1>

  </div>

</template>

<script>

export default {

  name: "HelloWorld",

  data() {

    return {

      msg: "Welcome to Your Vue.js App"

    };

  },

// 在生命周期里面发请求

  created() {

    this.$http

      .get("api/Movie/New")

      .then(response => {

        console.log(1);

        console.log(response);

      })

      .catch(error => {

        console.log(2);

        console.log(error);

      });

  }

};

</script>

// 接口文档中发这个get请求不需要参数

5 通过npm run dev运行

在浏览器中出现的报错信息

  • 写回答

2条回答 默认 最新

  • 永远不会太晚 2021-06-26 14:05
    关注

    把axios.defaults.baseURL = "http://film.glkjjt.com/api";删了,配置proxy代理不能设置axios.defaults.baseURL 

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大