2016-03-03 66 views
0

我沿着sportsStore例如,從亞當·弗里曼臨AngularJS書下面,好像被卡住的代碼示例上一章中沒有發射7

亞當使用data.error屬性內的主控制器下面列出的控制器,我強迫錯誤通過提供一個無效的網址,但我不認爲$ scope.data.error屬性正在填充:

angular.module("sportsStore") 
.constant("dataUrl", "http://localhost:5500/xxx") 
.controller("sportsStoreCtrl", function($scope, $http, dataUrl){ 

$scope.data = {}; 
    $http.get(dataUrl) 
     .success(function(data){ 
      $scope.data.products = data; 
     }) 
     .error(function(error){ 
      $scope.data.error = error; 
     }); 
}); 

在app.html中,data.error字段用作布爾值

<div class="alert alert-danger" ng-show="data.error"> 
    Error ({{data.error.status}}). The product data was not loaded. 
    <a href="/app.html" class="alert-link">Click here to try again</a> 
</div> 

但是,data.error字段不會填充任何內容。用'true'代替'data.error'會給我一個正確的結果。

Batarang顯示沒有這樣的錯誤屬性。

enter image description here

+2

您正在使用哪種角度的版本?如果它是新版本$ HTTP語法更新爲您使用過時的語法&我看到這種問題可以得到解決通過使用正確的角度版本可以給你一個示例API? – Prasad

+0

你可以在你的錯誤回調中記錄錯誤嗎? – Jax

+0

您可以使用開發人員工具控制檯和網絡選項卡來檢查api結果 – Prasad

回答

2

是的,它必須與角的版本做。捆綁的源代碼使用的是v1.2 ......你可能會認爲它適用於本書中的代碼,但是當我指出最新版本的CDN時,代碼按預期工作。