跨域恳求的方法有很多种,
创新互联-专业网站定制、快速模板网站建设、高性价比河池网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式河池网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖河池地区。费用合理售后完善,10余年实体公司更值得信赖。
1,iframe
2,document.domain
3,window.name
4,script
5,XDomainRequest (IE8+)
6,XMLHTTPRequest (Firefox3.5+)
7,postMessage (HTML5)
8,后台代理
...
它们有各自的优缺点,回来的数据格局也各不同,应根据需要慎重挑选。比方iframe回来html片段就对比适合,费老劲用它回来JSON就因小失大了。这篇开端我将打造一个有用的跨域恳求东西Sjax。运用script恳求的最大缺点,挑战是过错处理。比方404过错,它不象XMLHTTPRequest能精确的回来状况码404。我把这个放在最终一篇。
本系列首要描绘以上列举的方法4,即通过script回来JSON格局数据数据。这种方法如今称为JSONP。JSON是目前前后台交流运用最盛行,也最广泛的格局之一。相对于前期的AJAX回来XML(AJAX中的X即是XML),JSON显得更轻量级,没有剩余的Tag符号,解析也是原生的。XML回来到前端后先转成文档,通过DOM API一层层的解析。解析DOM是开支对比大的,尤其在前期的IE版别中(IE6/7/8),core js与dom交流的价值是很大的。
JSONP的实现思路很简单
1, 前端创立script符号,设置src,添加到head中(你可以往body中添加)。
2, 后台回来一个js变量jsonp,这个jsonp即是恳求后的JSON数据。
3, 回调完成后删去script符号(还有一些整理作业如防止有些浏览器内存泄露等)。
接口
Sjax.load(
url,// 跨过恳求的URL
success, // 回调函数,有必要界说一个形参,用于接纳后台回来的全局变量jsonp (约好后台回来如jsonp = {...}结构)
timestamp,// 传true会加一个时间戳,防止缓存,默许不加
);
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>sjax_0.1.js by snandy</title>
<script src="/js/sjax_0.1.js"></script>
</head>
<body>
<p id="p1" ></p>
<input type="button" value="Get Name" onclick="clk()"/>
<script type="text/javascript">
function clk(){
Sjax.load(
'http://lf.yunnanw.cn/',
'http://www.lcsyt.com/',
'http://www.minnan888.net/',
'http://www.vipfuxin.com/',
'http://www.qclchina.com/',
'http://www.tongxinglong.com/',
'http://www.jinanwuliangye.com/',
'',
function(){
document.getElementById('p1').innerHTML = 'Hi, ' + jsonp.name;
}
);
}
</script>
</body>
</html>
新闻名称:跨域请求之JSONP
当前网址:https://www.cdcxhl.com/article2/ieeoic.html
成都网站建设公司_创新互联,为您提供营销型网站建设、响应式网站、网页设计公司、搜索引擎优化、建站公司、面包屑导航
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联