今天使用Ajax进行页面访问,页面访问失败,但通过浏览器地址栏直接访问又可以访问成功。英文比较差,不清楚提示是什么意思,经多番查找,终于找到一个比较合理的解释,具体如下:
1. javascript代码:
xmlhttp = $.ajax({url:"http://www.baidu.com", async:false});alert(xmlhttp.responseText);2. 现象:
(1)alert提示:
(2)Chrome Network结果:
(3)Chrome控制台(Console)错误提示:
XMLHttpRequest cannot load . Origin null is not allowed by Access-Control-Allow-Origin.
3. 原因:
出于安全的考虑,对于XMLHttpRequest,浏览器默认设置为不允许跨域访问。(IE8例外,具体为什么没有得到合理的解释)
注:加载本地文件被当做跨域行为。
4. 允许跨域访问配置:
(1)chrome启动时加上参数"--allow-file-access-from-files"(据说这个可以,还有待验证)。
5. 参考同类型问题文章
[1]
[2]
[3]
[4]