【JsonP】

1、首页展示用户名

  1. 当用户登录成功后,在cookie中有token信息。
  2. 从cookie中取token根据token查询用户信息。
  3. 把用户名展示到首页。

方案一:在Controller中取cookie中的token数据,调用sso服务查询用户信息。

方案二:当页面加载完成后使用js取token的数据,使用ajax请求查询用户信息。

问题:服务接口在sso系统中。Sso.taotao.com(localhost:8088),在首页显示用户名称,首页的域名是www.taotao.com(localhost:8082),使用ajax请求跨域了。

 

Js不可以跨域请求数据。

什么是跨域:

  1. 域名不同
  2. 域名相同端口不同。

解决js的跨域问题可以使用jsonp。Jsonp不是新技术,是跨域的解决方案。使用js的特性绕过跨域请求。Js可以跨域加载js文件。

2、JSonP原理

2.1 JsonP的客户端

2.2 jsonP的服务端

  1. 接收callback参数,取回调的js的方法名。
  2. 业务逻辑处理。
  3. 响应结果,拼接一个js语句。

Jsonp 第二种方法:使用spring 4.1以上版本, 需要创建一个mappingJacksonValue

猜你喜欢

转载自blog.csdn.net/lxiansheng001/article/details/83069158