自定义服务与调用--------factory
自定义服务:
angular.module('myApp').factory('UserService',['$http','$q',function ($http,$q) {
// 定义一个方法工厂
var factory = {
httpGet : httpGet,
login:login
};
return factory;
function httpGet(no,size) {
var deferred = $q.defer();
$http.get("/user/list.action?pageSize="+size+"&pageNo="+no)
.then(function (response) {
deferred.resolve(response.data);
},
function (errResponse) {
console.error("Error !!")
deferred.reject(errResponse);
}
);
return deferred.promise;
}
function login(params) {
var deferred = $q.defer();
$http({
method : 'POST',
url : '/user/login.action',
data : $.param(params), // pass in data as strings
headers : { 'Content-Type': 'application/x-www-form-urlencoded' } , // set the headers so angular passing info as form data (not request payload)
dataType:'json'
})
.then(function (response) {
deferred.resolve(response.data);
},
function (errResponse) {
console.error("Error !!")
deferred.reject(errResponse);
}
);
return deferred.promise;
}
}]);
服务调用: 引入js
var app = angular.module('myApp', []);
app.controller('userCtrl', function ($scope, $http,UserService) {
/******************paging************pageSize******/
$scope.pageSize=;
$scope.pagesize = {
: ,
: ,
:
}
//httpGet(2,8);
$scope.selectchange=function(){
//debugger
UserService.httpGet($scope.page.number,$scope.pageSize).then(function (d) {
$scope.page = d;
} , function (errResponse) {
console.error('Error');
} );
}
/**
* page laod data
*/
UserService.httpGet(,).then(function (data) {
$scope.page = data;
}, function (errResponse) {
console.error('Error ');
}
);
$scope.nextpage=function(){
$scope.page.number= ($scope.page.number+)+;
if($scope.page.number>=$scope.page.totalPages){
$scope.page.number=$scope.page.totalPages;
}
UserService.httpGet($scope.page.number,$scope.pageSize).then(function (d) {
$scope.page = d;
} , function (errResponse) {
console.error('Error');
} );
}
$scope.prepage=function(){
$scope.page.number= ($scope.page.number - );
UserService.httpGet($scope.page.number,$scope.pageSize).then(function (d) {
$scope.page = d;
} , function (errResponse) {
console.error('Error');
} );
}
/*********** ******delete********* ***********/
$scope.deleteuser=function($event,id){
//debugger;
var flag = confirm("Are you sure delete this user ?");
if(flag){
var url = $($event.target).attr("href1")+id;
$http.get(url)
.then(function (response) {
//alert("aa");
if(response.data.status="ok"){
location.reload() ;
alert("delete success !");
}else{
alert("delete fail !");
}
});
}
return false;
}
/*********** ******update********* ***********/
$scope.update=function($event,id){
location.href="/user/toupdate.action?id="+id;
}
});
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope ,$http,$location ,UserService) {
$scope.login = function () {
// // alert('user is saved');
// $http({
// method : 'POST',
// url : '/user/login.action',
// data : $.param($scope.user), // pass in data as strings
// headers : { 'Content-Type': 'application/x-www-form-urlencoded' } , // set the headers so angular passing info as form data (not request payload)
// dataType:'json'
// })
// .success(function(data) {
// //alert(data.status);
//
// if (data.status=="ok") { //login success
// window.location.href="/user/tolist.action";
// }
// if (data.status=="no") { //no such user
// $scope.message="this user is not exist !";
// // window.location.href="/user/toLogin.action";
// }
// if (data.status=="pno") { //password wrong
// $scope.message1="password wrong !";
// // window.location.href="/user/toLogin.action";
// }
// });
UserService.login($scope.user).then(function (data) {
// console.log(d);
if (data.status=="ok") { //login success
window.location.href="/user/tolist.action";
}
if (data.status=="no") { //no such user
$scope.message="this user is not exist !";
// window.location.href="/user/toLogin.action";
}
if (data.status=="pno") { //password wrong
$scope.message1="password wrong !";
// window.location.href="/user/toLogin.action";
}
} , function (errResponse) {
console.error('Error');
} );
};
});
自定义服务与调用--------factory的更多相关文章
- angularJs 自定义服务 provide 与 factory 的区别
<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...
- 【AngularJS中的自定义服务service VS factory VS provider】---它们的区别,你知道么?
在介绍AngularJS自定义服务之前,我们先来了解一下AngularJS~ 学过HTML的人都知道,HTML是一门很好的伪静态文本展示设计的声明式语言,但是,要构建WEB应用的话它就显得乏力了. 而 ...
- 深究AngularJS——自定义服务详解(factory、service、provider)
前言 3种创建自定义服务的方式. Factory Service Provider 大家应该知道,AngularJS是后台人员在工作之余发明的,他主要应用了后台早就存在的分层思想.所以我们得了解下分 ...
- ng自定义服务(利用factory)
ng中我们可以自己定义自己的服务,服务中是一些使用重复率较高的方法.因此有效的使用服务可以提高开发速度. ng中定义服务的方法有多种,service,factory,provide,在此我只介绍最长用 ...
- angularjs factory,service,provider 自定义服务的不同
angularjs框架学了有一段时间了,感觉很好用.可以把angularjs的app理解成php的class,controller是控制器,而内置服务和自定义服务就可以理解成models了.angul ...
- Angular.js之服务与自定义服务学习笔记
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Angular JS 学习笔记(自定义服务:factory,Promise 模式异步请求查询:$http,过滤器用法filter,指令:directive)
刚学没多久,作了一个小项目APP,微信企业号开发与微信服务号的开发,使用的是AngularJS开发,目前项目1.0版本已经完结,但是项目纯粹为了赶工,并没有发挥AngularJS的最大作用,这几天项目 ...
- angular factory Services provider 自定义服务 工厂
转载于 作者:海底苍鹰地址:http://blog.51yip.com/jsjquery/1602.html 1.在app.js 中声明了模块的依赖 var phonecatApp = angular ...
- angularjs 自定义服务(serive,factory,provder) 以及三者的区别
1.Serive 服务:通过service方式创建自定义服务,相当于new的一个对象:var s = new myService();,只要把属性和方法添加到this上才可以在controller里调 ...
随机推荐
- Windows环境下搭建Nginx和多版本PHP共存
PHP版本众多,彼此之间兼容性不好,不同程序经常需要的不同版本的PHP版本.这里介绍如何使用NGINX让不同版本的PHP共存. 软件下载地址 与nginx整合的php需要选择Non Thread Sa ...
- test20181016 B君的第二题
题意 分析 考场暴力50分. 考虑bfs序,一个点的儿子节点的bfs序一定连续,所以对bfs序建线段树,努力打一下就行了. 时间复杂度\(O(n \log n + m \log n)\) #inclu ...
- day 2克隆虚拟机器minimal需要注意的问题和制作本地yum源和常用的Linux的命令
------- 克隆bee2 PS:因为复制机器后,又多了一个网卡eth1.本来只有一个网卡eth0,下面是解决方案. 解决克隆后eth0不见的问题 1.直接修改vi /etc/sysconfig/ ...
- java安全性-引用-分层-解耦
Java不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用 "特洛伊"木马等欺骗手段访问对象的私有成员 访问一个对象必须通过这个对象的引用 java ...
- TensorFlow笔记-08-过拟合,正则化,matplotlib 区分红蓝点
TensorFlow笔记-08-过拟合,正则化,matplotlib 区分红蓝点 首先提醒一下,第7讲的最后滑动平均的代码已经更新了,代码要比理论重要 今天是过拟合,和正则化,本篇后面可能或更有兴趣, ...
- FastAdmin CMS 插件下载
FastAdmin CMS 插件下载 CMS内容管理系统插件(含小程序) 自定义内容模型.自定义单页.自定义表单.自定义会员发布.付费阅读.小程序等 提供全部前后端源代码和小程序源代码 功能特性 基于 ...
- Centos下zookeeper的安装配置
下载安装包,下载地址 http://zookeeper.apache.org/releases.html,我下载的版本是zookeeper-3.4.9.tar.gz. # tar xvzf zooke ...
- python值传递和指针传递
a= 1def change_integer(a): a=a+1 return a print change_integer(a)print a b= [1, 2, 3] ...
- php取两个整数的最大公约数算法大全
php计算两个整数的最大公约数常用算法 <?php//计时,返回秒function microtime_float (){ list( $usec , $sec ) = explode ( &q ...
- 什么是Map-Reduce
Map-Reduce本身并不是算法:而是一种处理模式:因为在大数据分布式这种场景下,处理数据运算和单机版不同:需要协同多台机器,并行计算:于是有了map-reduce这种模式,map阶段是数据处理,在 ...