TypeError:无法读取未定义的属性'get'

时间:2015-07-06 16:11:44

标签: javascript angularjs typeerror

$http.get('/contactList').
success(function(data){
    console.log('got http get');
}).
error(function(data) {
    $scope.error = true;
    $scope.data = data;
    return 'error name';
});

我只是这部分代码出错了。我正在尝试使用Angular JS的$http.get函数。我做错了吗?

我一直收到错误。

2 个答案:

答案 0 :(得分:1)

正如其他评论者所说,你应该看看你的控制器声明,你需要注入' $ http服务:

_db.KeywordGroup.AddIfNotExists(keyGroup, true,
    k => k.KeywordGroupName == keyGroup.KeywordGroupName);
_db.SaveChanges();

....

public static T AddIfNotExists<T>(this DbSet<T> dbSet, 
    T entity, 
    bool returnExists = false, 
    Expression<Func<T, bool>> predicate = null) where T : class, new()
{
    var exists = predicate != null ? dbSet.Where(predicate).FirstOrDefault() : dbSet.FirstOrDefault();
    if (exists == null || !returnExists) return exists == null ? dbSet.Add(entity) : null;
    entity = exists;
    return dbSet.Attach(entity);
}

答案 1 :(得分:1)

由于我没有看到任何控制器代码,我不得不假设以下一个可能导致此问题,

  1. 您没有像评论员和@Plato所指出的那样在控制器中注入所有依赖项。检查一下 - &gt; TypeError: Cannot call method 'get' of undefined

  2. 您已注入所有依赖项,但与订单不符,例如,应该['$scope', '$http', function($scope, $http),您可能会提到这样['$scope', '$http', function($http, $scope)。使用数组表示法注入依赖项时,参数的顺序很重要。检查一下 - &gt; AngularJS $http.get returns undefined and $http() is not a function