我剛剛開始學習一些編程,並且正在閱讀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
感謝馬克,但我有最新的部署已安裝。我發現當我在虛擬機中安裝AVG Antivirus時,問題就開始了 – cubanGuy 2014-12-06 19:28:39