错误消息:'XMLHttpRequest cannot load. Cross origin requests are only supported for HTTP in AngularJS'?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (48)

这是我的代码:

MyAppModule.factory('EventData', function($http,$log){
    return {
        getEvent : function(successcb){

            $http({method: 'GET', url: './js/Services/products.json'}).

            success(function(data) {
                $log.info("success");
            }).
            error(function(data) {
                $log.info("error");
            });
        }
    };
});

我在本地位置有一个简单的JSON文件,我收到以下错误:

XMLHttpRequest cannot load file:///C:/Users/Avraam/Documents/GitHub/AngularJS/app/js/Services/products.json Cross origin requests are only supported for HTTP. angular.min.js:73 Error: A network error occurred.

我不使用任何服务器,我只是打开我的索引文件与Chrome。

提问于
用户回答回答于

我通过在服务器上运行我的页面来解决这个问题,如下所示

cd /path/to/dir/with/the/index/file
python3 -m http.server

然后打开http://localhost:8000在你的浏览器里

或者如果您的计算机仍然没有Python 3

python -m SimpleHTTPServer
用户回答回答于

如果这是用于本地开发,并且您正在使用Chrome,则需要使用以下几个参数来运行Chrome以放松安全性:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files --disable-web-security

扫码关注云+社区

领取腾讯云代金券