2016-12-09 6 views
0

테이블에 표시합니다. WCF를 가져 오는 함수를 선언했습니다. 나머지는 service.js, URL은 Json 데이터를 가져옵니다. 그럼 난 데이터를 얻을 수있는 또 다른 함수를 작성 entryCtrl.js 다음WCF에서 데이터를 가져 오는 함수를 만드는 방법 나머지는

service.js

(function (app) { 
    app.service("CRUD_AngularJs_RESTService", function ($http) { 
    this.getAllEntry = function() { 
     return $http.get("http://localhost:51458/ServiceRequest.svc/GetAllRequest/"); 
    }; 
    }); 
})(angular.module('model')); 

entryCtrl.js HTML로 보여

(function (app) { 
    'use strict'; 
    app.controller('entryCtrl', entryCtrl); 
    entryCtrl.$inject = ['$scope']; 
    function entryCtrl($scope) { 
     $scope.pageClass = 'page-entry'; 
     $scope.GetAllRecords = function() { 
      var promiseGet = CRUD_AngularJs_RESTService.getAllEntry(); 
      promiseGet.then(function (pl) { $scope.EntryData = pl.data }, 
       function (errorPl) { 
        $log.error('Some Error in Getting Records.', errorPl); 
       }); 
     } 
    } 
})(angular.module('model')); 

보기 entry.html

<table data-ng-controller="entryCtrl"> 
    <tbody data-ng-repeat="entry in EntryData"> 
    <tr> 
     <td>{{entry.name}}</td> 
     <td>{{entry.telpon}}</td> 
     <td>{{entry.foobar}}</td> 
    </tr> 
    </tbody> 
</table> 

오류가 없으므로 테이블의 데이터에 아무 것도 표시되지 않습니다. 작동하는 기능을 알기 위해 무엇을 시도해야합니까?

jush have 경고 XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. 나는 그것이 무엇을 의미하는지 모른다.

+0

당신은'정의 : 당신이 $scope에 필요하지 않는 것 때문에 단순히 직접 GetAllRecords()를 호출 할 수 있습니다,

function entryCtrl($scope) { $scope.pageClass = 'page-entry'; $scope.GetAllRecords = function() { var promiseGet = CRUD_AngularJs_RESTService.getAllEntry(); promiseGet.then(function (pl) { $scope.EntryData = pl.data }, function (errorPl) { $log.error('Some Error in Getting Records.', errorPl); }); } $scope.GetAllRecords(); } 

을 다른 방법 : 당신은 $scope.GetAllRecords()에 호출하기 전에 $scope.GetAllRecords = GetAllRecords를 설정해야 function GetAllRecords() {', 그래서 이것은'$ scope' 객체의 함수가 아닙니다. '$ scope.GetAllRecords()'대신에'GetAllRecords()'만하거나'$ scope.GetAllRecords = function() {// ..} '처럼 범위 객체에 함수를 정의하십시오. – devqon

+0

예를 들어주세요. 감사합니다 – Stfvns

+0

오키 감사합니다. 그것은 일을 창조하는 기능입니다. 그러나 테이블을 표시하지 마십시오. 그리고 오류가 없습니다. 내가 뭐야? @devqon – Stfvns

답변

1

기능 GetAllRecords()$scope으로 설정되지 않습니다.

function entryCtrl($scope) { 
    $scope.pageClass = 'page-entry'; 
    (function() { 
     var promiseGet = CRUD_AngularJs_RESTService.getAllEntry(); 
     promiseGet.then(function (pl) { $scope.EntryData = pl.data }, 
      function (errorPl) { 
       $log.error('Some Error in Getting Records.', errorPl); 
      }); 
    })(); 
} 
+0

내게 이렇게 되니? entryCtrl. $ inject = [ '$ scope', GetAllRecords]; function getCommand ($ scope) {..} function GetAllRecords() {var promiseGet = CRUD_AngularJs_RESTService.getAllEntry();}' – Stfvns

+0

@Stfvns : 편집을 참조하십시오. –