【问题标题】:Unknown provider: $resourceProvider <- $resource in AngularJS未知提供者:$resourceProvider <- AngularJS 中的 $resource
【发布时间】:2017-06-18 14:01:00
【问题描述】:

如标题中所述,我收到以下错误: 未知提供者:$resourceProvider

具体在 Microsoft Edge 的控制台中:

SCRIPT438: Object doesn't support property or method 'info'

angular-resource.js (444,1)

Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- Review
http://errors.angularjs.org/1.6.1/$injector/unpr?p0=%24resourceProvider%20%3C-%20%24resource%20%3C-%20Review
at Anonymous function (https://code.angularjs.org/1.6.1/angular.js:4630:13)
at getService (https://code.angularjs.org/1.6.1/angular.js:4783:11)
at Anonymous function (https://code.angularjs.org/1.6.1/angular.js:4635:13)
at getService (https://code.angularjs.org/1.6.1/angular.js:4783:11)
at injectionArgs (https://code.angularjs.org/1.6.1/angular.js:4807:9)
at invoke (https://code.angularjs.org/1.6.1/angular.js:4834:7)
at enforcedReturnValue (https://code.angularjs.org/1.6.1/angular.js:4676:7)
at invoke (https://code.angularjs.org/1.6.1/angular.js:4842:9)
at Anonymous function (https://code.angularjs.org/1.6.1/angular.js:4636:13)
at getService (https://code.angularjs.org/1.6.1/angular.js:4783:11) <div class="ng-scope" ng-view="">
angular.js (14328,11)

我在谷歌上搜索了错误并遇到了多个解决方案,但似乎我仍然做错了什么,即使在尝试实施上述解决方案时...

index.html:`

<!DOCTYPE html>

<html ng-app="VideogameReviewsApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello AngularJS</title>

</head>

<body>
    <div ng-view></div>
    <script src="https://code.angularjs.org/1.6.1/angular.js"></script>
    <script src="https://code.angularjs.org/1.6.1/angular-route.js"></script>
    <script src="https://code.angularjs.org/1.6.4/angular-resource.js"></script>
    <script src="js/app.js"></script>
</body>

</html>

为简单起见,我在 app.js 中包含了所有代码:

'use strict';

var VideogameReviewsApp = angular.module('VideogameReviewsApp', ['ngRoute','ngResource']).
     config(['$routeProvider', function ($routeProvider) {
        $routeProvider.
            when('/', { controller: ReviewCtrl, templateUrl: 'review.html' }).
            otherwise({ redirectTo: '/' });
     }]);

VideogameReviewsApp.factory('Review', function ($resource) {
    return $resource('http://localhost/videogamereviews/review/:id', { id: '@id' }, { update: { method: 'PUT' } });
});

var ReviewCtrl = function ($scope,Review) {
    alert("mop")
    $scope.items = Review.get();
};

非常感谢您的帮助!

阿什利

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    更新您的角度资源参考以匹配角度版本。

      <script src="https://code.angularjs.org/1.6.1/angular-resource.js">
    

    演示

    angular.module('VideogameReviewsApp', ['ngRoute','ngResource'])
    .controller("testctrl",function($scope){
    $scope.appname = "resourceTest";
    })
    <!DOCTYPE html>
    <html ng-app="VideogameReviewsApp">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Hello AngularJS</title>
    </head>
    
    <body ng-controller="testctrl">     
    
    {{appname}}
        <script src="https://code.angularjs.org/1.6.1/angular.js"></script>
        <script src="https://code.angularjs.org/1.6.1/angular-route.js"></script>
        <script src="https://code.angularjs.org/1.6.1/angular-resource.js"></script>
    </body>
    </html>

    【讨论】:

    • 也许我应该问一个新问题,但它有点像后续问题:我在春天有一个 REST api。如果我通过 url 直接访问它 localhost/videogamereviews/review 正在被访问。任何“localhost/videogamereviews/review”我都会按预期得到我的数据。但是,当我通过浏览器尝试使用角度时,我得到 404 响应。这很奇怪,因为在标题中我可以看到建议?
    • 对不起,我搞砸了,这就是我的意思:也许我应该问一个新问题,但它是一种跟进:我在春天有一个 REST api。如果我通过 url "localhost/videogamereviews/review" 直接访问它,我会按预期获得我的数据。但是,当我通过浏览器尝试使用角度时,我得到 404 响应。这很奇怪,因为在标题中我可以看到 localhost/videogamereviews/review 正在被访问。有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    相关资源
    最近更新 更多