淘淘商城14_跨域请求(Jsonp)

本文详细解析了跨域请求的基本概念,包括其三种常见情况,并深入探讨了JSONP作为一种有效的跨域解决方案的工作原理。文章还介绍了如何在具体项目中实现JSONP,包括将数据封装为JS语句的方法,以及在请求页面中定义回调函数来获取跨域数据的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.架构分析

Taotao-rest这个工程查询数据库

Taotao-portal.  只是页面的展示

分类的数据库是从哪来的?  

从数据库里查询出来

要去rest工程中调用

2. 跨域请求

分为3种情况:

 域名相同,端口号不同:localhost:8082     localhost:8083

域名不同,端口号相同:172.168.112.13:8080   172.168.112.115:8080

域名不同,端口号也不同  172.168.112.13:8080   172.168.112.115:8081

3. 跨域请求的解决方案

webservice

httpclient

jsonp

数据需要从taotao-rest工程调用服务获得

4. 跨域问题

Js是不能跨域请求。出于安全考虑,js设计时不可以跨域。

修改taotao-portal工程下的lib-v1.js文件,前提已经把这个category.json放到了rest工程下

 

5. 什么是jsonp

Jsonp其实就是一个跨域解决方案。Js跨域请求数据是不可以的,但是js跨域请求js脚本是可以的。可以把数据封装成一个js语句,做一个方法的调用。跨域请求js脚本可以得到此脚本。得到js脚本之后会立即执行。可以把数据做为参数传递到方法中。就可以获得数据。从而解决跨域问题。

6. 修改文件

6.1把taotao-portal下的category.json文件复制到taotao-rest文件下

 

6.2 修改taotao-poral项目下的lib-v1.js文件

6.3 修改taotao-rest工程下的category.json文件

 

6.4 jsonp原理

浏览器在js请求中,是允许通过script标签的src跨域请求,可以在请求的结果中添加回调方法名,在请求页面中定义方法,既可获取到跨域请求的数据。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值