跨越请求

什么是跨域(两个不同系统之间的访问、调用)

(1)域名不同,即两个不同的应用。

(2)域名相同,但是端口不同,即同一个应用中的不同子系统。

 Ajax跨域请求的缺陷

在ego-rest系统使用静态数据,模拟Ajax的跨域问题。

解决方案:jsonp跨域

在前面的测试中,我们发现Ajax跨越请求时,json数据被浏览器禁用了。

原因:浏览器禁止远程加载Json数据。(浏览器安全机制)

 

如何解决呢?

答:使用Jsonp方式。

Jsonp原理

Jsonp实现的前提:

浏览器允许跨越加载同源数据。

即在JavaScript脚本中发送请求,就可以远程加载js格式数据。

请求原理:

(1)异步请求的时候,加上一个名为callback的回调函数

(2)在接口中,将返回的json格式数据,伪装成js脚本格式。

(3)得到js格式数据后,提取里面的json数据。

结论:(1)jsonp是ajax技术中的一种异步请求方式。

     (2)jsonp能实现跨越请求。

     (3)jsonp跨越时,需要指定一个回调函数,并使用该函数将返回的数据伪装成js脚本。

     (4)获取返回的js脚本后,jsonp自动提取其中的json数据。

 

posted @ 2019-07-26 18:59  vietaKo  阅读(212)  评论(0编辑  收藏  举报