前端jquery请求后端springboot项目跨域解决方法及代码示例

前端jquery项目后端springboot项目跨域解决方法及代码示例— vue技术交流群(864583465) (此群满可加2群:111822407)

前端代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button onclick="doReq()">请求</button>
</body>
<script src="./js/jquery.min.js"></script>
<script>
    function doReq(){
        $.ajax({
            type: 'get',
            url: '你的接口地址', // 全链接
            contentType: 'application/json',
            dataType: 'json',
            success: function (res) {
                console.log(res)
            }
        })
    }
</script>
</html>

后端代码–配置类

package com.mashibing.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class MyWebConfigurer {
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowedOriginPatterns("*")
                        .allowCredentials(true)
                        .allowedMethods("GET", "POST", "PUT", "DELETE");
            }
        };
    }
}

你的问答将是我们大家共同进步的关键!!!

### 创建和解决Vue前端Spring Boot后端项目中的常见问题 #### 构建基础环境 构建一个前后端分离的应用程序,其中Vue用于前端界面开发,而Spring Boot负责提供API服务。对于初学者而言,理解这两个框架的基础概念至关重要[^3]。 #### 配置资源共享(CORS) 当Vue应用程序尝试向运行于不同名下的Spring Boot服务器发起HTTP请求时,默认情况下会遇到同源策略限制。为了允许这种请求,在Spring Boot中需适当配置CORS支持[^2]。 ```java @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**") // 只对/api路径开放cors访问 .allowedOrigins("*") // 允许所有来源的请求 .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS"); } } ``` #### 处理JSON数据传输 在Vue前端利用`axios`库发送PUT或POST请求Spring Boot后端的过程中,如果发现后端接收的数据为空,则可能是由于双方之间存在不同的默认内容类型设置所引起的。Axios默认采用application/json格式提交参数,因此需要确保Spring Boot能够正确解析此类负载体内的信息。 ```java @RestController @RequestMapping(value="/example") public class ExampleController { @PostMapping(consumes="application/json", produces="application/json") public ResponseEntity<String> create(@RequestBody MyObject myObject){ System.out.println(myObject); return new ResponseEntity<>("success", HttpStatus.OK); } static class MyObject{ private String name; // getter and setter methods... } } ``` #### 简化Spring应用搭建流程 借助Spring Boot的优势可以极大程度上减少传统Spring项目的复杂度。它通过自动配置机制减少了繁琐的手动设定工作,并且内置了许多实用的功能模块,从而让开发者更加专注于业务逻辑实现而非基础设施建设方面的工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值