2015-11-20 72 views
0

我嘗試使用JSON文件,JSON文件與我的HTML文件存在於同一個文件夾中。無法訪問JSON文件存在於同一個文件夾中:AngularJS

<html ng-app="countryApp"> 
    <head> 
    <meta charset="utf-8"> 
    <title>Angular.js Example</title> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.min.js"></script> 
    <script> 
     var countryApp = angular.module('countryApp', []); 
     countryApp.controller('CountryCtrl', function ($scope, $http){ 
     $http.get('countries.json').success(function(data) { 
      $scope.countries = data; 
     }); 
     }); 
    </script> 
    </head> 
    <body ng-controller="CountryCtrl"> 
    <table> 
     <tr> 
     <th>Country</th> 
     <th>Population</th> 
     </tr> 
     <tr ng-repeat="country in countries"> 
     <td>{{country.name}}</td> 
     <td>{{country.population}}</td> 
     </tr> 
    </table> 
    </body> 
</html> 

但是,當我打開我的HTML文件,我得到一個控制檯錯誤說:

的XMLHttpRequest無法加載文件://countries.json/。交叉源 請求僅支持協議方案:http,data,chrome, chrome-extension,https,chrome-extension-resource。

回答

1

由於安全問題,您無法從本地主機上的JavaScript加載其他文件。嘗試在http服務器上運行你的頁面。

如果你有python,你可以在你的控制檯中寫上python -m SimpleHTTPServer 8000,其中工作目錄是源文件夾,然後打開http://localhost:8000

1

你可以做的是改變$http.get('countries.json').success(function(data) {這個

$http.get("http://localhost:9009/yourFolderName/countries.json").then(function (data) { 

假設你在端口9009

運行HTTP本地服務器