【发布时间】:2014-11-08 00:59:12
【问题描述】:
忙于建立一个视频网站,我目前正在重写代码,但我无法解决这个问题。所以我有一个controller.js,我想在其中执行所有请求,在我的main.js 中我想接收数据并解析。
所以我的 controller.js 看起来像:
'use strict';
angular.module('Movie.services', []).service('Movie', ['$q', '$http', function($q, $http) {
var API_URL = 'http://api.themoviedb.org/3/person/';
var API_KEY = '?api_key=xxx';
this.findCast = function( id ) {
var cast = [];
$http.get(API_URL, {
params: {
query: id,
api_key: API_KEY
}
}).then(function(result) {
angular.forEach(result.data, function(item) {
cast.push(item);
});
});
}
}]);
JSON:http://docs.themoviedb.apiary.io/reference/people/personid/get 我的 main.js 看起来像:
app.controller("Cast", function($scope, $http, $routeParams, Page, Movie) {
$scope.getCast = [];
var person_id = $routeParams.person_id;
Movie.findCast(person_id).then(function(result){
$scope.getCast = result ;
});
});
我的问题是如何在 main.js 中从我的 controller.js 接收数据,以便我可以解析它。我现在得到的是一个错误
TypeError: 无法读取未定义的属性 'then'
我不确定这是否是构建我的应用程序的正确基础架构,因为在 controller.js 中我想进行多次调用,例如我想获取演员、电影、电视剧等。
Controller.js 会是这个样子(不知道是不是正确的做法)
this.findCast = function( id ) { }
this.getMovies = function( id ) { }
this.getSeries = function( id ) { }
this.getPopulair = function( id ) { }
【问题讨论】:
标签: javascript angularjs imdb