axios 跨域问题_前端跨域产生的原因和解决方法

axios 跨域问题_前端跨域产生的原因和解决方法首先,经典报错:No‘Access-Control-Allow-Origin’解决方法:一、配置main.js此处已经默认请求都添加/api为前缀importVuefrom’vue’importAppfrom’./App.vue’importrouterfrom’./router’importaxiosfrom’axios’import’font-awesome/css/font-awesome.min.css’Vue.config.product

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

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

首先,经典报错:No ‘Access-Control-Allow-Origin’

解决方法:

一、配置main.js

此处已经默认请求都添加/api为前缀

import Vue from 'vue'
import App from './App.vue'
import router from './router'

import axios from 'axios'
import 'font-awesome/css/font-awesome.min.css'

Vue.config.productionTip = false

axios.defaults.baseURL='/api/'
Vue.prototype.$axios = axios


new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

 二、配置config.index.js

也就是在proxyTable中写上目标地址,主要是已经重写过/api了,之后的axios请求中都不需要再添加/api,也就是

pathRewrite: {

          “^/api”:”

        }

不需要写作下面这样, 会重复导致报错。

pathRewrite: {

          “^/api”:“/api”

        }

正确的index.js代码:

'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.

const path = require('path')

module.exports = {
  dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: { // 配置代理,下面是个例子
      '/api': {
        target: 'http://localhost:8880',
        changeOrigin: true,
        ws:true,
        pathRewrite: {
          "^/api":''
        }
      }
    },
 
    // host: 'localhost', // can be overwritten by process.env.HOST
    host: '0.0.0.0', // can be overwritten by process.env.HOST
    port: 3000, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
    autoOpenBrowser: false,
    errorOverlay: true,
    notifyOnErrors: true,
    poll: false,  
    useEslint: true,
 
    showEslintErrorsInOverlay: false,
    devtool: 'cheap-module-eval-source-map',
    cacheBusting: true,
    cssSourceMap: true
  },

  build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
   // assetsPublicPath: '/',
    assetsPublicPath: './', // 生产环境打包后静态文件路径修改为相对路径
    /**
     * Source Maps
     */

   // productionSourceMap: true,
    productionSourceMap: process.env.env_config !== 'prod', // 生产环境不需要sourceMap,测试阶段可为true
    // https://webpack.js.org/configuration/devtool/#production
    devtool: '#source-map',
    productionGzip: false,
    productionGzipExtensions: ['js', 'css'],
    bundleAnalyzerReport: process.env.npm_config_report || true
  }
}

三、写请求:get请求为例

axios.get('/student',{//你想访问的资源
  params:{
    name:"邹xx"//因为后端使用findbyname函数
  }
})
.then(function(response){
  console.log(response);
})
.catch(function(error){
  console.log(error);
});

四、顺手又写出404

404 Not Found
请求失败,请求所希望得到的资源未被在服务器上发现

axios 跨域问题_前端跨域产生的原因和解决方法

 没有这个路径,

@RestController

public class Studentcontroller {

    @Autowired
    StudentService studentService;

    @RequestMapping("/deletestudent")
    public void deletebyID(){
//        Optional<StudentEntity> byId = studentRepository.findById(13869L);
//        byId.orElse(null);
//        StudentEntity studentEntity = new StudentEntity();
//        studentEntity.setName("xxb");
//        studentRepository.save(studentEntity);
    }

    @GetMapping("/{name}")
    public StudentEntity findByName(@PathVariable("name") String name){
        return studentService.findByName(name);
    }

查看自己的路径,就是服务器端的问题

GetMapping 注解已经默认封装了@RequestMapping

使用postman测试

数据库中此人确实存在:

axios 跨域问题_前端跨域产生的原因和解决方法

参数理解:

@GetMapping(value = "/service", params = "serviceName=CREATE_PROJECT")

 

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

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

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


相关推荐

  • Ffmpeg进行视频文件转换

    Ffmpeg进行视频文件转换

    2021年9月1日
    77
  • PyCharm 教程(五)断点 调试[通俗易懂]

    PyCharm 教程(五)断点 调试[通俗易懂]PyCharm作为IDE,断点调试是必须有的功能。否则,我们还真不如用纯编辑器写的快。【运行】和【调试】前的设置,详见前面的文章,helloword。1,设置断点在代码前面,行号的后面,鼠标单击,就可以设置断点。如下:2,调试断点点击那个绿色的甲虫图标(似乎甲虫已经成为debug专用图标了),进行断点调试。点击后,会运行到第一个断

    2022年5月21日
    33
  • pycharm将python程序打包_python 程序打包

    pycharm将python程序打包_python 程序打包关于使用Pycharm对python文件进行打包首先建立python项目的时候要按照标准来建设我使用的python配置的解释器,没有使用python的虚拟环境,因为虚拟环境建设出来的项目不是我想要的项目结构,包结构比较多,看着不是很舒服4.配置完成后点击创建创建完成后可以自己创建合适包结构创建完合适的包结构后,就可以编写python代码了,但要python代码运行开,需要配置运行环境9.环境配置调试好就可以运行调试python代码..

    2022年8月26日
    6
  • dell计算机运行慢怎么解决方法,戴尔笔记本电脑运行速度慢怎么办?

    dell计算机运行慢怎么解决方法,戴尔笔记本电脑运行速度慢怎么办?戴尔笔记本电脑运行速度慢怎么办?戴尔(Dell),是一家总部位于美国德克萨斯州朗德罗克的世界五百强企业,由迈克尔·戴尔于1984年创立。戴尔以生产、设计、销售家用以及办公室电脑而闻名,不过它同时也涉足高端电脑市场,生产与销售服务器、数据储存设备、网络设备等。下面是小编收集整理的戴尔笔记本电脑运行速度慢的解决方法,欢迎阅读。戴尔笔记本电脑运行速度慢的解决方法用户在购买电脑的时候,如果预装了Win8系…

    2025年10月26日
    3
  • jar包和war包区别及理解

    jar包和war包区别及理解在开发阶段不适合使用war包,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新Servlet类文件,而每一次改动后,重新建立war包将是一件浪费时间的事情。在产品发布阶段,使用war文件比较合适的,因为在这个时候,几乎不需要再做什么改动了。jar包jar是类的归档文件JAR(JavaArchive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为J2EE应用程序创建的jar文件是EAR文件(企业jar文件),jar文件格式以流行的ZIP文

    2022年5月24日
    35
  • SpringCloud与Dubbo区别[通俗易懂]

    SpringCloud与Dubbo区别[通俗易懂]SpringCloud和Dubbo都是当下流行的RPC框架,各自都集成了服务发现和治理组件。SpringCloud用Eureka,Dubbo用Zookeeper,这篇博客就将将这两个组件在各自系统中的作用机制的区别。1.注册的服务的区别Dubbo是基于java接口及Hession2序列化的来实现传输的,Provider对外暴露接口,Consumer根据接口的规则调用。也就是Provider向Zookeeper注册的是接口信息,Consumer从Zookeeper发现的是接口的信息,通过接口的name

    2022年5月25日
    46

发表回复

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

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