• 如何解决chrome 等浏览器不支持本地ajax请求的问题


    XMLHttpRequest cannot load file:///D:/WWW/angularlx/ui-router-test/template/content.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

    上述是chrome控制台报错信息,信息的意思很明显,XMLHttpRequest 不能加载那个html文件,在本地是禁止跨域请求的,不支持file://协议,其实,这是我直接双击index.html文件后的结果,其实,我在自己电脑上安装了phpstudy套件,我通过http://127.0.0.1/......./index.html是可以正常打开页面的,且不会报错,这是当然的,如上述报错信息后半句,跨域请求支持的协议有http嘛!

    其实 ,禁止跨域是浏览器的安全限制机制,在每个浏览器下都有,如在chrome、Firefox、opera 、360 都是这样的,同样会报告上述错误,但是可以通过设置来绕过这个限制(如果经常 完前端代码 建议在本机装个web容器。。。),常见的方式是  右击chrome快捷方式,选择“属性”,在“快捷方式”下的“目标”中添加" --allow-file-access-from-files"(最前面有个空格),重启chrome即可。如下图:

    还有一种方式,不用在快捷方式上做手脚,就是:

    1、cmd进入dos环境

    2、dos下进入GoogleChromeApplication>(chrome.exe所在目录)

    3、运行命令 chrome.exe -- allow-file-access-from-files;

    注意:运行完第3步之后,这个时候就会启动chrome浏览器,不要关闭它,使用chrome打开那个之前会报错的html文件,发现正常了,不会报错了,可是,我现在把chrome关闭,在使用chrome代码这个html文件还是会报错,这说明,这个方法只对本次打开的chrome有效,关闭再打开就无效了,为了方便,还是使用上面的那个修改快捷方式属性的方法吧!

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。互联网+时代,时刻要保持学习,携手千锋PHP,Dream It Possible。

  • 相关阅读:
    【动态规划/二维背包问题】mr355-三角形牧场
    【动态规划】mr354-坐车看球
    【深度优先搜索】mr353-取奶
    【动态规划】mr351-办签证
    【贪心】POJ2393-Yogurt Factory
    centos 7 systemctl
    linux 程序或服务开机自启动
    linux终端快捷键
    linux 安装
    unix
  • 原文地址:https://www.cnblogs.com/gaohj/p/6746931.html
Copyright © 2020-2023  润新知