2014-10-17 36 views
0

我剛剛開始學習一些編程,並且正在閱讀Adam Freeman的Pro AngularJS.Following作者在創建自己的書中展示的一個示例。我有一臺Xampp服務器,數據位於Deployd。這兩臺服務器都在虛擬XP機器(VMWare)中。 (http://192.168.1.40:5500/cars)看起來像這樣的數據:使用Angularjs從Deployd加載數據的問題

[{ 
"brand": "Honda", 
"color": "Blue", 
"price": 20000, 
"year": 2010, 
"id": "95d78d0090f3ab62" 
}, { 
"brand": "Kia", 
"color": "Green", 
"price": 10000, 
"year": 2013, 
"id": "47e180e828b2297a" 
}, { 
"brand": "Toyota", 
"color": "Black", 
"price": 22000, 
"year": 2013, 
"id": "19ab0a96f80c29ab" 
}, { 
"brand": "Buick", 
"color": "Silver", 
"price": 25000, 
"year": 2012, 
"id": "a9a217f2a7381994" 
}, { 
"brand": "Ferrari", 
"color": "Red", 
"price": 250000, 
"year": 2014, 
"id": "0abb8a0179f95a17" 
}, { 
"brand": "Porche", 
"color": "Blue", 
"price": 60000, 
"year": 2012, 
"id": "f76556eb6aa7981e" 
}] 

我沒有進入訪問瀏覽器中的URL數據的任何問題。

相關的HTML看起來像這樣:

<tr ng-repeat="item in data | orderBy:'brand' "> 
      <td>{{item.brand}}</td> 
      <td>{{item.color}}</td> 
      <td>{{item.year}}</td> 
      <td>{{item.price | currency}}</td> 

     </tr> 

而且我AngularJS代碼如下所示:

angular.module("demo") 

.constant("dataUrl", "http://192.168.1.40:5500/cars") 
.controller("demoCtrl", function ($scope, $http, dataUrl) { 
//$http.defaults.useXDomain = true; 
    $scope.data = {}; 
    $http.get(dataUrl) 
     .success(function (data) { 

      $scope.data = data; 
     }) 
     .error(function (error) { 
      $scope.data.error = error; 
     }); 
    }); 

這是我遇到的問題。當我訪問IE9中的頁面時,它完美地工作。當我使用FireFox時沒有任何顯示,也沒有任何錯誤或者什麼都沒有。在Chrome瀏覽器中的數據不會加載它給我這個錯誤:

XMLHttpRequest cannot load http://192.168.1.40:5500/cars. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.1.40' is therefore not allowed access. 

正如我所說,我對這個很新,這對我來說是非常令人困惑的是它在IE而不是在休息的瀏覽器。我也嘗試了使用「json」文件而不是Deployd數據的相同代碼,並且它適用於所有瀏覽器。任何想法我應該在這裏做什麼?謝謝!

頁在IE9 enter image description here

回答

1

您需要更新版本的deployd - 在deployd安裝文件夾從命令提示符下運行NPM更新 - 我不得不使用命令提示符以管理員權限運行它。

這裏有很好的答案:

Deployd - Data retrieved via AngularJS CORS

+0

感謝馬克,但我有最新的部署已安裝。我發現當我在虛擬機中安裝AVG Antivirus時,問題就開始了 – cubanGuy 2014-12-06 19:28:39