一直觉得AJAX跨域是没法逾越的鸿沟,最近发现原来在服务端能够经过发送header信息来容许AJAX跨域请求。 php
PHP代码示例: web
header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Headers:X-Requested-With');
通过测试,webkit内核的浏览器成功实现跨域请求。 跨域
IE一如既往的不支持~看来只能在移动端享用这一强大功能了 浏览器
另外,须要注意的是,第一行配置中的*表示容许来自全部referer的跨域请求,若是不想彻底开放,能够配置为特定域名。这样就能保证只有来自特定域名的跨域请求能够成功。例如: 异步
header('Access-Control-Allow-Origin:http://www.test.com');第二行配置的含义是容许异步AJAX请求,由于异步AJAX会自动发送这个header信息,服务端通常经过接受header信息来肯定是AJAX请求。通常咱们发送的AJAX请求都是异步的。