jsonp解决json数据跨域问题

本文介绍了如何利用jsonp解决跨域请求问题。在跨域场景下,由于浏览器安全限制,JavaScript无法直接发起Ajax请求。文中详细阐述了跨域的概念,并提供了两种不同的方案:一种是通过Controller获取cookie中的token并查询用户信息;另一种是利用JavaScript取token并使用ajax。重点讨论了jsonp的工作原理,包括客户端如何使用jQuery实现和服务器端如何配合,展示了两种不同的响应数据格式。
摘要由CSDN通过智能技术生成

5.2. 首页展示用户名

方案一:在Controller中取cookie中的token数据,调用sso服务查询用户信息。
1、当用户登录成功后,在cookie中有token信息。
2、从cookie中取token根据token查询用户信息。
3、把用户名展示到首页。

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

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

Js不可以跨域请求数据。
什么是跨域:
1、域名不同
2、域名相同端口不同。

解决js的跨域问题可以使用jsonp。

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

5.3. Jsonp原理
在这里插入图片描述
5.4. Json实现

5.4.1. 客户端
使用jQuery。
修改这两处
在这里插入图片描述

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


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值