自定义服务:

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的更多相关文章

  1. angularJs 自定义服务 provide 与 factory 的区别

    <!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...

  2. 【AngularJS中的自定义服务service VS factory VS provider】---它们的区别,你知道么?

    在介绍AngularJS自定义服务之前,我们先来了解一下AngularJS~ 学过HTML的人都知道,HTML是一门很好的伪静态文本展示设计的声明式语言,但是,要构建WEB应用的话它就显得乏力了. 而 ...

  3. 深究AngularJS——自定义服务详解(factory、service、provider)

    前言 3种创建自定义服务的方式.  Factory Service Provider 大家应该知道,AngularJS是后台人员在工作之余发明的,他主要应用了后台早就存在的分层思想.所以我们得了解下分 ...

  4. ng自定义服务(利用factory)

    ng中我们可以自己定义自己的服务,服务中是一些使用重复率较高的方法.因此有效的使用服务可以提高开发速度. ng中定义服务的方法有多种,service,factory,provide,在此我只介绍最长用 ...

  5. angularjs factory,service,provider 自定义服务的不同

    angularjs框架学了有一段时间了,感觉很好用.可以把angularjs的app理解成php的class,controller是控制器,而内置服务和自定义服务就可以理解成models了.angul ...

  6. Angular.js之服务与自定义服务学习笔记

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Angular JS 学习笔记(自定义服务:factory,Promise 模式异步请求查询:$http,过滤器用法filter,指令:directive)

    刚学没多久,作了一个小项目APP,微信企业号开发与微信服务号的开发,使用的是AngularJS开发,目前项目1.0版本已经完结,但是项目纯粹为了赶工,并没有发挥AngularJS的最大作用,这几天项目 ...

  8. angular factory Services provider 自定义服务 工厂

    转载于 作者:海底苍鹰地址:http://blog.51yip.com/jsjquery/1602.html 1.在app.js 中声明了模块的依赖 var phonecatApp = angular ...

  9. angularjs 自定义服务(serive,factory,provder) 以及三者的区别

    1.Serive 服务:通过service方式创建自定义服务,相当于new的一个对象:var s = new myService();,只要把属性和方法添加到this上才可以在controller里调 ...

随机推荐

  1. mysql 常用linux命令

    ★ 数据导出命令 D:\Program Files\MySQL\MySQL Server 5.6.39\bin 导出:  mysqldump -u root -p cela_sub > D:/d ...

  2. [转]G++与GCC的区别

    转自http://www.52pojie.cn/thread-58109-1-1.html 误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当 ...

  3. SQL Server中如何实现遍历表的记录

    SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录. 但游标在实际的开发中都不推荐使用. 我们知道还可以借助临时表或表变 ...

  4. [unity3d]角色控制器组件相互间不碰撞

    RPG游戏会有这种需求. 队友之间,玩家之间.玩家与怪物之间,都有可能须要不能碰撞.怎样实现?这个问题困恼了一段时间,昨天在网上看到解答的方法: 这里举例玩家和怪物之间: 1,填加2个不同的层级mon ...

  5. nyoj Registration system

    Registration system 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 A new e-mail service "Berlandesk&q ...

  6. ActiveMQ集群方案

    集群方案主要为了解决系统架构中的两个关键问题:高可用和高性能.ActiveMQ服务的高可用性是指,在ActiveMQ服务性能不变.数据不丢失的前提下,确保当系统灾难出现时ActiveMQ能够持续提供消 ...

  7. 【转】每天一个linux命令(10):cat 命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内 ...

  8. JUC线程池之 Callable和Future

    Callable 和 Future 简介 Callable 和 Future 是比较有趣的一对组合.当我们需要获取线程的执行结果时,就需要用到它们.Callable用于产生结果,Future用于获取结 ...

  9. Linux中的其他命令

    1.  修改文件的所有者 chown 用户名  文件名 2. 修改文件所属组 chgrp 组名  文件名 3. 创建用户,创建组,将用户添加到组中等 修改film文件夹的所有者和所属组 修改film文 ...

  10. sql 判断 数据库 表 字段 是否存在

    select * From master.dbo.sysdatabases where name='数据库名'select * from sysobjects where id = object_id ...