使用@CrossOrigin实现跨域请求
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的值便可)。
使用@CrossOrigin实现跨域请求的更多相关文章
- 使用SpringMVC的@CrossOrigin注解解决跨域请求问题
跨域问题,通俗说就是用ajax请求其他站点的接口,浏览器默认是不允许的.同源策略(Same-orgin policy)限制了一个源(orgin)中加载脚本或脚本与来自其他源(orgin)中资源的交互方 ...
- 利用CORS实现跨域请求(转载)
跨域请求一直是网页编程中的一个难题,在过去,绝大多数人都倾向于使用JSONP来解决这一问题.不过现在,我们可以考虑一下W3C中一项新的特性--CORS(Cross-Origin Resource Sh ...
- 关于ajax跨域请求(cross Domain)
Cross Domain AJAX主要就是A.com网站的页面发出一个XMLHttpRequest,这个Request的url是B.com,这样的请求是被禁止的,浏览器处于安全考虑不允许进行跨域访问, ...
- $.ajax 跨域请求 Web Api
WepApi确实方便好用,没有配置文件,一个apicontroller直接可以干活了.但今天用$.ajax跨域请求的时候总是获取不到数据,用fiddler一看确实抓到了数据,但回到$.ajax函数中, ...
- 利用JSONP实现跨域请求
前言:有时候一忙起来就没了时间观念,原来我已经有十多天没写博客了.一直想做跨域方面的尝试,无奈最近准备校招没时间动动手.今天就先讲讲JSONP吧,昨晚还在研究QQ空间日志里面网络图片的问题呢,我发现日 ...
- XMLHttpRequest的跨域请求
缘起 由于浏览器的同源策略,非同源不可请求. 但是,在实践当中,经常会出现需要跨域请求资源的情况,比较典型的例如某个子域名向负责进行用户验证的子域名请求用户信息等应用. 以前要实现跨域访问,可以通过J ...
- access-Control-Allow-Origin跨域请求安全隐患
最新的W3C标准里是这么实现HTTP跨域请求的,Cross-Origin Resource Sharing,就是跨域的目标服务器要返回一系列的Headers,通过这些Headers来控制是否同意跨域. ...
- AJAX请求和跨域请求详解(原生JS、Jquery)
一.概述 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX = 异步 JavaScript 和 XML,是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数 ...
- post跨域请求
[名词解释] 跨域:https://developer.mozilla.org/en-US/docs/JavaScript/Same_origin_policy_for_JavaScript 同源策略 ...
随机推荐
- 常见 SQL语句使用 增删改查
一.常见的增删改查(一).查:1.SELECT 列名称 FROM 表名称,其中列名可以是多个,中间用豆号分开,如SELECT LastName,FirstName FROM Persons: 2.SE ...
- gitbook.explore更新升级了, 不能再搜索了
www.gitbook.com/explore 不再是一个索引页面 Can I browse existing projects on GitBook ? The new version of Git ...
- 软工实践 - 第二十一次作业 BETA 版冲刺前准备
软工 · BETA 版冲刺前准备(团队) 过去存在的问题 组员之间缺乏沟通,前后端缺乏沟通协作 组员积极性不高 基础知识不够扎实 手动整合代码效率过低 我们已经做了哪些调整/改进 通过会议加强组员之间 ...
- java笔试面试01
今天给大家分享一下小布去广州华南资讯科技公司笔试和面试的过程. 过程:1.HR面试 2.笔试 3.技术面试 小布下午两点到达,进门从前台领了一张申请表,填完之后带上自己的简历到4楼就开始HR面试. ...
- JDK的弃儿:Vector、Stack、Hashtable、Enumeration
随着JDK的发展,一些设计缺陷或者性能不足的类库难免会被淘汰,最常见的就是Vector.Stack.HashTable和Enumeration了. Vector(@since 1.0) 首先看看Vec ...
- C#怎么调用方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Exep ...
- 关于JS中array对象的push( )
push()的参数传的是指针,不是值. var arr = new Array(); var item = 5; arr.push(item); var item = 6; 运行以上代码,arr中的元 ...
- string 类型转换
string转int "; int n = atoi(str.c_str()); cout << n << endl; int转string #include < ...
- taotao单点登录的用户Controller、service(注册、登录、验证是否登录方法)
接口文档: 1.1. 注册接口 1.1.1. 检查数据是否可用 请求方法 GET URL http://sso.taotao.com/user/check/{param}/{type} 参数说明 格式 ...
- VC遍历窗体控件的实现
最近在写控制台,在设计界面按钮风格时不想通过每个按钮的ID来获取其句柄,而是通过遍历窗体所有控件,然后判断其控件类型进而来实现. 代码如下: // 遍历得到页面中的所有Button控件,依次设定其样式 ...