AngularJS表单使用控制器和服务发布
AngularJS form post using controllers and services
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。只需将其移除并使用替代方案。
相关文章:
- 尝试将服务链接到控制器时出现角度问题
- 使用服务(AngularJS)在控制器之间共享数据
- 从AngularJS中的另一个文件中的控制器访问服务
- AngularJS 1.5.x服务未正确绑定,并且未在控制器中更新
- Ionic将firebase注入工厂,同时将控制器和服务保存在不同的文件中
- 通过共享服务在两个不同ng应用程序中的控制器之间共享数据
- Http服务工厂将未定义的返回到Angular中的控制器
- 由控制器调用的服务更改时,Angular未更新视图
- 将Browserify与Angular JS结合使用--将服务传递到控制器中
- 将工厂服务数据发送到控制器,以便在视图中使用
- 如何正确地将数据从自定义服务传递到角度控制器
- 如何将控制器http调用转换为接受参数的服务/工厂模式
- 角度控制器服务承诺不起作用
- angular应用程序中的浏览器功能检测:使用服务、指令、控制器
- 在一个控制器中更新服务变量,并在另一个控制器 - Angular JS中使用更新的值
- 从服务更新角度控制器
- AngularJS - 一个文件中的控制器和服务
- 使用路由的未定义服务控制器
- AngularJS:在服务/控制器中加载插件对象
- Angular服务/控制器没有返回承诺