一直以为AJAX跨域是无法逾越的鸿沟,最近发现原来在服务端可以通过发送header信息来允许AJAX跨域请求。
PHP代码示例:
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请求都是异步的。
时间: 2024-10-27 11:20:49