跨域解决方案
传统的跨域请求没有好的解决方案,无非就是jsonp和iframe,随着跨域请求的应用越来越多,W3C提供了跨域请求的标准方案(Cross-Origin Resource Sharing)。IE8、Firefox 3.5 及其以后的版本、Chrome浏览器、Safari 4 等已经实现了 Cross-Origin Resource Sharing 规范,实现了跨域请求。
有没有更好的解决方案
在服务器响应客户端的时候,带上Access-Control-Allow-Origin头信息。
如果设置 Access-Control-Allow-Origin:*,则允许所有域名的脚本访问该资源。
Access-Control-Allow-Origin:http://www.phpddt.com.com,允许特定的域名访问。
这样的话,我们就可以直接给某个特定的接口发送各种数据,
例如,我的PHP服务程序接口限制如下:
1 2 3 4 |
function AllowCome(){ Header("Access-Control-Allow-Origin:*");/*允许任何来源的post数据请求*/ Header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");//数据可以提交的方式, } |
这样的话,前端人员可以直接使用ajax与接口进行交互!
1 2 3 4 5 6 7 8 |
<input type="button" value="提交" onclick="post()"> <script type="text/javascript"> function post(){ $.post('http://4orzfdkze1.proxy.qqbrowser.cc/test/index3.php', {name: 'tianming'}, function(data) { console.log(data); }); } </script> |