XMLHttpRequest(ajax)跨域请求的优雅方法:CORS

本文介绍了浏览器同源策略下实现跨域通讯的方法,包括JSONP方案及其局限性,并详细阐述了通过设置Access-Control-Allow-Origin实现跨域请求的过程。

浏览器的同源原则,使得 XMLHttpRequest 不能跨域通讯。为了实现跨域,有很多变态的做法。其中,比较优雅的是 JSONP 方案,但 JSONP 仅限于 GET 方法,其它方法无法实现。

W3C在2009年的时候就出过一个标准,只要在响应头部使用 Access-Control-Allow-Origin 即可实现跨域通讯,例如:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *

PHP代码:

header('Access-Control-Allow-Origin: *');

当然,如果想要兼容古老的 IE8,还得找 JSONP 方案,或者去实现那些古老变态的 iframe 方案。


参考资料:

http://www.w3.org/TR/cors/

转载于:https://my.oschina.net/heiing/blog/314170

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值