2016-08-26 5 views
0

から結合していないと私は物事が軌道に乗るために、いくつかのコースをたどってきました(REST)いくつかの結果(JSON)をhtmlテーブルにバインドします。

webserviceはウェブサイトを実行しているときに正常に動作し、角度コントローラがファクトリを起動し、$ http.getがWebサービスのブレークポイントに当たってJSONを返します。

問題は、テーブルの「名前」タグに予想されるデータが表示されません。 私のテーブルは「展開」しているので、データが入っているようですが、空白です。

これは私がこれまで持っているものです:

JSON応答:

[{"Id":1,"Name":"E-Plan"},{"Id":2,"Name":"Preliminary Drawing"},{"Id":3,"Name":"Preliminary Design"},{"Id":4,"Name":"Department Layout"}] 

表:

<div class="projecttypetable" style="overflow-x:auto;"> 
     <table style="width:100%"> 
      <tr data-ng-repeat="pt in projectTypes"> 
       <td> 
        <p><b>{{pt.Name}}</b></p> 
       </td> 
      </tr> 
     </table>  
    </div> 

角度コントローラ:

spftApp.controller('ProjectTypeController', function ($scope, projectTypesFactory) { 

    projectTypesFactory.async().then(function(d) { 
     $scope.projectTypes = d; 
    }); 
}); 

角度工場:

spftApp.factory('projectTypesFactory', function ($http) { 

    var urlBase = 'http://localhost:49165/Service1.svc/projectTypes' 

    return { 
     async: function() { 
      return $http.get(urlBase); 
     } 
    } 

私はここで間違っていますか?

+0

私は解決策を今見つけました...うまく動いていましたが、Web設定に「Access-Control-Allow-Origin」を追加するだけでした! –

答えて

-2

更新

角度ファクトリー以下のようにあなたの角度の工場は:

spftApp.factory('projectTypesFactory', function ($http) { 

var urlBase = 'http://localhost:49165/Service1.svc/projectTypes' 

return { 
    async: function() { 
     return $http.get(urlBase).then(function(response) { 
      return response;   

    }); 
    } 
    } 
} 
+0

OPは 'response'ではなく' promise'を返そうとしていました:) – Vineet

+0

こんにちは、私は両方の提案を試みましたが、それでも空のHTMLテーブルが生成されます。 私が試したことは、HTML getの代わりに静的オブジェクトを使って作業していて、うまくいき、HTMLテーブルが動作していることです。 ブラウザがデータを表示できないような特定の設定がありますか?私はIIS Expressがいくつかの問題を引き起こしているどこかを読んで... –

1

データはd.dataです。試してみてください:

詳細については、$httpのドキュメントをご覧ください。

関連する問題