簡體   English   中英

從angularjs調用RESTful服務的正確方法

[英]Proper way to call RESTful service from angularjs

我正在嘗試使用RESTful API做一個簡單的待辦事項應用程序。 我的RESTful服務返回以下JSON,

[{"title":"completed this","completed":false},{"title":"and this too","completed":false}]

作為應用程序/ json返回,而不是字符串。

我的看法如下

<div class="container" ng-app="todomvc">
        <div id="todoapp" ng-controller="TodoCtrl">
             <div class="row" ng-repeat="todo in todos">         
             {{todo.title}}
             </div>
        </div>
</div>

我有以下帶有控制器和工廠的JS代碼,

var todomvc = angular.module('todomvc', []);

todomvc.factory('todoREST', function ($q,$http) {
 function get(){
   return $http.get('http://localhost/test.php');
 }
 return{get:get};
});

todomvc.controller('TodoCtrl', function TodoCtrl($scope, $location, $filter, todoREST) {
    var todos = $scope.todos = todoREST.get().then(function(data){
    todos = data.data;
    console.log(todos); // Data available here
    });
});

加載頁面時,無法在頁面中獲取標題。 我究竟做錯了什么? 我的方法是進行RESTful通話的正確方法嗎?

這是我所做的鏈接, http://plnkr.co/edit/kaSCe9HoMPEK1hD4QgJl?p = preview

您正在將$ scope.todos分配給服務返回的promise,而不是回調中的數據。

嘗試

todoREST.get().then(function(data){
    $scope.todos = data.data;
    console.log($scope.todos); // Data available here
});

http://plnkr.co/edit/C3fbK3NicU7XkdHAbzCr?p=preview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM