2014-09-03 85 views
-1

我需要通過調用它的REST端點將我的應用程序與其他服務集成在一起 是angularjs的新增功能,我閱讀了文檔,我發現這種方式對我不起作用,我仍然沒有獲得任何數據未能使用angularjs調用REST端點

var ltd = angular.module('mvDashboard', ['ngResource']); 

ltd.factory('Ftd', function($resource){ 
     return $resource('https://external-domain/account/foremail/[email protected]'); 
    }); 

ltd.controller('mvPushCtrl',['$scope', function($scope, Push){ 
    Ftd.query(function(data){ 
     $scope.stuff= data; 
     console.log(data); 
    }); 
}]); 

這應該回報"external-domain"我的帳戶信息在JSON格式我檢查這個使用郵遞員 但它不會從我的角度應用工作,如果任何人有任何想法?另外我想提一下,我從本地主機這樣做,我不知道這是一個問題?而且,我也認爲這個調用必須在我運行應用程序的任何時候都是正確的?

我還張貼我的主要模塊的代碼:

var myapp=angular.module('vascular'['ngResource','ngRoute','main','login','mvDashboard']); 

myapp.config(function($routeProvider,$locationProvider){ 
    $locationProvider.html5Mode(true); 
    $routeProvider 

     .when('/',{ 
      templateUrl: '/partials/main/main', 
      contorller: 'mvMainCtrl' 
     }) 
     .when('/admin/users',{ 
      templateUrl: '/partials/admin/dashboard' 
    }); 
}); 

我知道這個問題回答了很多次,覆蓋着很多教程,但我試過很多解決方案,沒有工作,所以我公佈這這裏的問題

+0

是否爲CORS設置了API終點?服務器或控制檯中顯示是否有錯誤? – lkartono 2014-09-04 03:10:36

+0

我正在調用提供API的其他服務的API,我檢查控制檯是否沒有錯誤。 – user1920302 2014-09-04 14:51:08

回答

1

在你的控制器中,你必須注入資源服務。

//Ftd injected 
ltd.controller('mvPushCtrl',['$scope','Ftd', function($scope,Ftd, Push){ 
    Ftd.query(function(data){ 
     $scope.stuff= data; 
     console.log(data); 
    }); 
}]); 
+0

我修好了它,我還將控制器添加到路線'/ partials/admin/dashboard',但仍然無法工作。 – user1920302 2014-09-03 18:09:58

0
  1. 你推注射,但使用公司
  2. 你忘了標註「推」所以它的不確定
  3. 查詢的資源對象上採取PARAMS作爲第一個參數不回調。使用

    res.query()。$ promise.then(function(data){});

0

只是爲了向人們解釋使用angular.js發生什麼事我讀了NG-CORS書節,因爲我以爲我已經CORS問題誰是新的我一樣,並將其與此解決方案的工作。

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

    myapp.controller('mvLtdCtrl',['$scope','$http',function($scope, $http){ 
     $http.jsonp("https://external-domain") 
     .success(function(data){ 
      $scope.mydata = data; 
      console.log(mydata); 
     }); 
    }]);