SpringMVC + JSONP的跨域请求

时间:2022-11-21 21:44:32

转自:http://www.cnblogs.com/leechenxiang/p/5783467.html

先来说说场景,JSON,这货大家应该都懂,不懂的请自动面壁思过,那么什么是JSONP,不是JSON放了个P就叫JSONP,而是JSON with Padding,在进行跨域请求的时候需要的数据,什么是跨域,打个比方:在user.weixin.com下的某个页面下,用户服务需要调用订单服务,请求order.weixin.com,那么在这两个二级域名下,请求是互斥的,如果请求就会报错。

 

先来看看本域下的请求,同域名下是可以获取到json数据的

 

SpringMVC + JSONP的跨域请求

 

那么如果换一个域名呢?可以看到请求被拒绝了,说到底这还是数据安全的问题

SpringMVC + JSONP的跨域请求

那么如何才能访问呢?首先改造结构,支持jsonp

SpringMVC + JSONP的跨域请求

然后修改你的js,在页面加载的时候调用,那就成功了

SpringMVC + JSONP的跨域请求

 

看到没有,不同域名可以请求了

SpringMVC + JSONP的跨域请求

 

SpringMVC + JSONP的跨域请求

在如今SOA和微服务当道的情况下,分布式系统是不可缺少的,那么跨域请求也是少不了的,来看一下京东首页吧,用了大量的jsonp,这就是其中的一段代码

SpringMVC + JSONP的跨域请求

好吧,有兴趣的朋友实践一下吧