2014-09-15 2 views
0

이 경우 문제가 무엇인지 모르기 때문에 도움을 요청하고 싶습니다.Restangular가 서버를 호출하지 않습니다.

난 모서리와 난각을 사용하고자하는 간단한 MVC5 응용 프로그램이 있습니다. 페이지를로드 할 때 각도 컨트롤러가 실행되지만 서버는 호출되지 않습니다. 그것은 단지 다른 테스트 방법 일뿐입니다. 나머지 서비스 (Webapi2)는 간단한 json 객체를 반환합니다.

브라우저 또는 피들러 2를 사용하여 webservice를 호출하면 예상 한 결과가 나타납니다. Fiddler에 따르면 결과는 json입니다.

페이지를 새로 고침 할 때 나는 아무것도 돌려주지 않았을뿐입니다. Fiddler에 따르면 그 때 서버 호출은 없습니다. testResult 객체를 덤프 (아래 TestService.js 파일 참조)하면 아무것도 포함되어 있지 않으며 fromServer 속성이 있고 값이 false라는 것을 알 수 있습니다. 서버 통신이 발생했는지 여부를 나타내는 것으로 가정합니다.

나는이 문서를 살펴 봤지만이 사건을 극복하는 데 도움이되는 자료는 찾지 못했습니다. 문서가 잘못되었음을 의미하지는 않습니다. :) 나는 무엇이 문제인지 모른다.

예상 JSON :

{"Id":1,"Name":"Egyeske"} 

단일 HTML 파일 (_layout.cshtml)

<!DOCTYPE html> 
<html lang="en" ng-app="dilibApp"> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>@ViewBag.Title</title> 
</head> 
    <body> 
     <div ng-controller="TestController"> 
      Test value: {{testValue}} 
     </div> 
     <div> 
      @RenderBody() 
     </div> 
     <div> 
      <script type="text/javascript" src="~/Scripts/angular.js"></script> 
      <script type="text/javascript" src="~/Scripts/angular-route.js"></script> 
      <script type="text/javascript" src="~/Scripts/angular-resource.js"></script> 
      <script type="text/javascript" src="~/Scripts/restangular.js"></script> 
      <script type="text/javascript" src="~/Scripts/lodash.js"></script> 
      @* dilibApp module *@ 
      <script type="text/javascript" src="~/Scripts/AngularModules/dilibApp/dilibApp.js"></script> 
      <script type="text/javascript" src="~/Scripts/AngularModules/dilibApp/Controllers/TestController.js"></script> 
      <script type="text/javascript" src="~/Scripts/AngularModules/dilibApp/Services/TestService.js"></script> 
     </div> 
    </body> 
</html> 

dilibApp.js 파일 :

'use strict'; 

var dilibApp = angular.module('dilibApp', ['restangular', 'ngRoute', 'ngResource']). 
config(function (RestangularProvider) 
{ 
    RestangularProvider.setBaseUrl('http://dev.dilib.local/service/webapi/'); 
}); 

TestController.js 파일 :

'use strict'; 

dilibApp.controller('TestController', function ($scope, testService) 
{ 
    $scope.testValue = testService.get(); 
}); 

TestService.js 파일 :

'use strict'; 

dilibApp.factory('testService', function(Restangular) { 

    var testResult = Restangular.all('http://dev.dilib.local/service/webapi/test'); 

    //console.log(Restangular); 
    //console.log(testResult); 
    return { 
     get: function() { 
      //console.log(testResult.one()); 
      return testResult.one(); 
     } 
    } 
}); 

답변

1

Document

Restangular.all('link').getList(); Restangular.one('link').get();

그래서 당신은 결과의 목록을 얻으려면 하나의 결과 또는 .getList()을 얻을 방법 .one() 후 방법 .get()을 넣어한다

+0

Baaahhhh ... :) 당신 말이 맞습니다! 나를 계몽 해 주셔서 감사합니다! :) – SayusiAndo

관련 문제