【问题标题】:AngularJS form post using controllers and services使用控制器和服务的 AngularJS 表单发布
【发布时间】:2015-02-16 14:41:27
【问题描述】:

jc.controller.js

  angular.module('sd').controller('CJController', [
    '$scope', 'jcreate', function($scope, $http, jcreate) {
      return jcreate.sendJob(jobItems)(function() {
        return {
          create: jobItems
        };
      });
    }
  ]);


jc.services.js

  angular.module('sd').service('jcreate', [
    "$scope", "$http", function($scope, $http) {

      _cjObj = [];
      _cjObj = $.param({
        json: JSON.stringify(
          description = $scope.name, 
        )
      });
      _create = function() {
        return $http.post('URLtoBeAdded', _cjObj).success(function(response, status, headers, config) {
          return alert(1);
        }).error(function(response, status, headers, config) {
          return alert(2);
        });
      };
      return {
        create: function(jobItems) {
          return _create();
        }
      };
    }
  ]);
HTML

<form class="form-horizontal" role="form" ng-submit="sendJob(jobItems)" ng-controller="CJController">
        <div id="jobConnectionTab">
            <div class="field-canvas">
                <p class="group-lable">Connection</p>

                <div class="form-group">
                    <label class="control-label col-sm-2" for="description">Name:</label>
                    <div class="col-sm-5">
                        <input type="name" class="form-control" id="description" placeholder="Enter description" ng-model="jobItems.name">
                    </div>
                </div>

<div class="form-group">
                <div class="col-sm-offset-2 col-sm-10">
                    <button type="reset" class="btn btn-warning" value="Clean"></button>
                    <button type="submit" class="btn btn-success" value="Submit"></button>
                </div>
            </div>
</form>

我有一个使用 Angular JS 的小型应用程序,我已拆分为三个页面,如下所示

  • 表单页面 - HTML
  • 控制器 - JS
  • 服务 - JS

在页面加载时出现以下错误。

错误:[$injector:unpr] 未知提供者:$scopeProvider

根据给出的说明更新问题后,弹出以下错误: 错误:[$injector:unpr] 未知提供者:$scopeProvider

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您在数组中缺少 $http:-

    应该是这样的:

     angular.module('sd').controller('CJController', [
        '$scope','$http', 'jcreate', function($scope, $http, jcreate) {
    ..
    
    }
    

    其次,您不能在 Angular js 的服务中使用 $scope。只需将其删除并使用替代方法。

    【讨论】:

      猜你喜欢
      • 2018-09-29
      • 2014-09-25
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      • 2013-05-28
      • 2017-10-11
      • 1970-01-01
      相关资源
      最近更新 更多