【问题标题】:Angular v1.2.25 error "fnPtr is not a function"Angular v1.2.25 错误“fnPtr 不是函数”
【发布时间】:2015-10-28 00:17:11
【问题描述】:

我得到这个错误,没有特定的模式。该页面曾经可以工作,但现在这个错误让我搞砸了一切。有没有很好的方法来调试或追查问题?

Error: fnPtr is not a function
Parser.prototype.functionCall/<@http://localhost:15987/Scripts/angular/angular.js:10847:15
OPERATORS["&&"]@http://localhost:15987/Scripts/angular/angular.js:10198:45
Parser.prototype.binaryFn/<@http://localhost:15987/Scripts/angular/angular.js:10600:14
$RootScopeProvider/this.$get</Scope.prototype.$digest@http://localhost:15987/Scripts/angular/angular.js:12532:34
initialize/$scope.loadReasonCodes/<@http://localhost:15987/scripts/voController.js:286:13
jQuery.Callbacks/fire@http://localhost:15987/Scripts/jquery/jquery-1.10.2.js:3062:10
jQuery.Callbacks/self.fireWith@http://localhost:15987/Scripts/jquery/jquery-1.10.2.js:3174:7
done@http://localhost:15987/Scripts/jquery/jquery-1.10.2.js:8249:5
.send/callback@http://localhost:15987/Scripts/jquery/jquery-1.10.2.js:8792:8
@debugger eval code:1:1
consoleLog/<@http://localhost:15987/Scripts/angular/angular.js:10071:18
$ExceptionHandlerProvider/this.$get</<@http://localhost:15987/Scripts/angular/angular.js:7364:7
$RootScopeProvider/this.$get</Scope.prototype.$digest@http://localhost:15987/Scripts/angular/angular.js:12559:19
getPoLineDetails/<@http://localhost:15987/scripts/voController.js:347:9
jQuery.Callbacks/fire@http://localhost:15987/Scripts/jquery/jquery-1.10.2.js:3062:10
jQuery.Callbacks/self.fireWith@http://localhost:15987/Scripts/jquery/jquery-1.10.2.js:3174:7
done@http://localhost:15987/Scripts/jquery/jquery-1.10.2.js:8249:5
.send/callback@http://localhost:15987/Scripts/jquery/jquery-1.10.2.js:8792:8
consoleLog/<()angular.js (line 10071)
$ExceptionHandlerProvider/this.$get</<()angular.js (line 7364)
$RootScopeProvider/this.$get</Scope.prototype.$digest()angular.js (line 12559)
initialize/$scope.loadReasonCodes/<()voController.js (line 286)
jQuery.Callbacks/fire()jquery-1.10.2.js (line 3062)
jQuery.Callbacks/self.fireWith()jquery-1.10.2.js (line 3174)
done()jquery-1.10.2.js (line 8249)
.send/callback()jquery-1.10.2.js (line 8792)
consoleLog/<()angular.js (line 10071)
$ExceptionHandlerProvider/this.$get</<()angular.js (line 7364)
$RootScopeProvider/this.$get</Scope.prototype.$digest()angular.js (line 12559)
getPoLineDetails/<()voController.js (line 347)
jQuery.Callbacks/fire()jquery-1.10.2.js (line 3062)
jQuery.Callbacks/self.fireWith()jquery-1.10.2.js (line 3174)
done()jquery-1.10.2.js (line 8249)
.send/callback()

错误可能在这个部分

function getPoLineDetails($scope) {
    $.ajax({
        url: api + 'pos',
        data: { po: $scope.vo.PO, lines: $scope.vo.PoLineNumbers.join(','), detailId: $scope.vo.Id },
        success: function (data) {
            $scope.vo.PoLines = data;
            if ($scope.vo.Id != undefined && $scope.vo.Id != null && $scope.vo.Id != -1) {
                $.each($scope.vo.CostBreakdown, function (index, item) {
                    //no content here yet
                });
            }
            $scope.$digest();
        }
    });    
}

【问题讨论】:

  • 最好的方法是添加带有错误的代码!听起来你在使用 fnPtr 的地方不是你应该使用的,但是......
  • 在这种情况下,它可能是间接的。我的代码中没有提到fnPtr
  • 我的句子可能不太清楚。 fnPtr 是一个“通用”错误。你在某个地方做错了一个函数。但如果没有代码,我们将无法为您提供帮助。
  • 好的。所以它可能与角度无关?
  • 跟角度有关。例如这里是一个语法错误:stackoverflow.com/questions/19208518/…。这可能是不同的事情,我们无法猜测。

标签: javascript angularjs visual-studio prototype


【解决方案1】:

当我对变量和函数使用相同的名称时,我遇到了这种错误。你的情况是这样吗?

像这样:

    $scope.search = 'search';
    $scope.search = function(){}

【讨论】:

  • @Jood 我现在浏览了我的代码,在 HTML 视图中,我错误地添加了 ()。所以,你是对的。谢谢。
猜你喜欢
  • 2013-10-13
  • 2015-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-28
  • 2019-01-01
  • 1970-01-01
相关资源
最近更新 更多