跨域在开发中一些是一个比较常见的问题虽然有json或者xml来解决,特别是在使用jquery的ajax跨域请求时,后台能收到前端的请求信息,但后台的输入信息,前端却收不到,这时我们可以通过Access-Control-Allow-Origin解决跨域问题。
演示程序:php、jquery2.1
适用范围:php各版本,其它程序可参考
URL/被请求URL | 状态 | 说明 |
http://www.pc515.com/2230.js http://www.pc515.com/2230.php |
允许 | 因为同一个域名,允许通信 |
http://www.pc515.com/2230.js http://www.pc515.com/2230/2230.js |
允许 | 因为同一个域名,目录不同,不影响通信 |
http://www.pc515.com/2230.js http://www.pc515.com:88/2230.php |
拒绝 | 因为商品不同,拒绝通信 |
http://www.pc515.com/2230.js https://www.pc515.com/2230.php |
拒绝 | 因为协议不同,拒绝通信 |
http://www.pc515.com/2230.js http://www.baidu.com/2230.php |
拒绝 | 域名不同,拒绝通信 |
http://www.pc515.com/2230.js http://pc515.com/2230.php |
拒绝 | 域名不同,拒绝通信(后者是一级域名,前者是二级域名,其cookie也不会共享) |
- header('Access-Control-Allow-Origin:*');
- // 响应类型
- header('Access-Control-Allow-Methods:POST');
- // 响应头设置
- header('Access-Control-Allow-Headers:x-requested-with,content-type');
- echo "ok";
电脑技术网代码说明:
- header('Access-Control-Allow-Origin:*'); 如果允许某个域名,可修改为以下代码
- header('Access-Control-Allow-Origin:http://www.pc515.com'); 只允许www.pc515.com