昨天做的那个voa41week,今天早上起来用朋友电脑测试了下(我电脑没有IE),环境是win7旗舰64位IE9,发现页面什么都是正常的,但是无法获取文件列表。开F12工具看一下,每生成一次Ajax请求就输出一次错误:SCRIPT70: 没有权限。

大概知道这个是Ajax的同源策略方面的东西,原来在Chrome下刚开始也不让向其他域发送Ajax请求,获取不到数据,那时候用php输出以下header就可以了。

1
2
3
<?php
header('Access-Control-Allow-Origin: *');
?>

大概搜索了一下,发现一个还算可以的办法,在同一个域下新增一个 php 文件,将 Ajax 请求发送到这个文件,运行这个文件去获取其他域的数据。大概就是一个代理的意思。这个文件逻辑比较简单,而且可以当作中间层,用来检查一下请求的合法性,无形之中增加了安全等级。速度当然会受到影响,但是我测试后发现速度变化不大,结果比较让人满意。