AngularJS表单使用控制器和服务发布

AngularJS form post using controllers and services

本文关键字:服务 控制器 表单 AngularJS      更新时间:2023-12-11

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:unp]未知提供程序:$scopeProvider<-$作用域<-jcreate

根据给定的说明更新问题后,出现以下错误:错误:[$injector:unp]未知提供程序:$scopeProvider<-$作用域<-jcreate

数组中缺少$http:-

应该是这样的:

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

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