Skip to main content
 首页 » 编程设计

Java 使用@CrossOrigin实现跨域请求

2022年07月19日42bhlsheji

1.毕设使用的是react+java开发的网上书城,大家都知道react主要是视图(表现层或页面),数据的处理还是通过java来实现的,所以我的毕设相当于是两个项目组成的,一个是前端项目,一个是后台项目,在react中我是用的是fetch来实现数据的异步请求,下面展示用户注册的代码:

    

          fetch('http://localhost:8080/ssm/userController/register', { 
                    method: 'POST', 
                    headers: { 
                        "Content-Type": "application/x-www-form-urlencoded" 
                    }, 
                    body: 'uname=' + uname + '&ubirth=' + ubirth + '&usex=' + usex + '&uaddress=' + uaddress + 
                    '&uaccount=' + account + '&upassword=' + password 
                }) 
                    .then(function (response) { 
                        return response.json(); 
                    }) 
                    .then(function (data) { 
                        if (data[0]['code'] == '-1') { 
                            message.info('该手机号已经被注册'); 
                        } else { 
                            hashHistory.push("/login"); 
                        } 
                    }) 
                    .catch(function (err) { 
                        //console.log(err); 
                    })

  上面的   http://localhost:8080/ssm/userController/register   是一个url,这个地址是后台的一个action,我们在前端的服务器中要请求Tomcat中的这个action,这就是跨域请求,实现跨域请求的第一步是后台代码要允许跨域,这里我们最简单的方法是使用springMVC的注解 @CrossOrigin(origins = "*", maxAge = 3600)  ,这里要强调的是springMVC的版本要在4.2或以上版本才支持@CrossOrigin,我这里的设置是允许所有跨域访问,也可以单独指定允许的服务器跨域(设置origin的值便可)。


本文参考链接:https://www.cnblogs.com/wgl1995/p/7053133.html