多语言展示
当前在线:733今日阅读:195今日分享:41

Jsonp跨域解决方法

Jsonp(Json and Padding)是区别于Json,而又类似于Json的一种存在,是一种非官方的协议,所以有些‘’潜规则‘’不是和遵守,对一些协议限制进行绕道;但是给一些开发的特殊情况留有余地。下面就说一下它的跨域请求过程:
工具/原料
1

两个本地虚拟域名

2

jquery.js

方法/步骤
1

准备好两个本地虚拟网址:a.ajax.com和b.ajax.com;a.ajax.com作为服务器端(php文件),接受请求并回应;b.ajax.com作为客户端(html文件),发起请求。

2

index.html和index.php代码结构如图:ps:最简单的代码结构,自行补充,在此只演示原理过程

3

dataType:json,的情况下,运行直接报错,详细信息:‘’XMLHttpRequest cannot load http://a.ajax.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://b.ajax.com' is therefore not allowed access.‘’原因是同源策略而无法访问;dataTypa:jsonp的情况,运行正常。

4

jsonp底层封装原理模拟: 动态添加script标签,通过script的src跨域调用,回调函数。  在比较一下,请求的 Request URL的结构是不是一样的。

注意事项

注意服务器端jsonp数据返回形式。

推荐信息