自定义服务:

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. JQ和JS获取span标签的内容(有的情况下JQ达不到预期的目的就用JS)

    https://www.cnblogs.com/anniey/p/6439021.html <span id="content">‘我是span标签的内容’</s ...

  2. IIS目录

    一.目录浏览 一般网站部署后,需要禁用目录浏览, 若启用目录浏览的话,可以自定义开启哪些目录(只能根目录),和影藏哪些目录 iis中限制访问某个文件或某个类型的文件配置方法 注意:图片目录不要隐藏,不 ...

  3. Django的DateTimeField和DateField

    一.DateField: class DateField(auto_now=False, auto_now_add=False, **options)[source] auto_now:每次保存时,都 ...

  4. day24 python学习 类 画元,命名空间作用域,组合,人狗大战升级

    类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就 ...

  5. ExtJs 4.0 DeskTop集成 百度地图API

    经过3天的奋斗最终搞了出来, 网上的资料非常少,希望小⑦的文章对读者有点帮助,PS:小⑦非常努力的~. 不废话,上代码了. 首先.去百度官网Copy一个模版 http://api.map.baidu. ...

  6. Spring插件3.8.2的安装

    主机环境:win8 64bit eclipse版本:4.5.2 MARS 插件版本:Spring Tool Suite3.8.2 安装过程:直接在线安装,没有先在官网把插件下载再安装. 主要步骤: 1 ...

  7. 使用python生成词云

    什么是词云呢? 词云就是一些关键词组成的一个图片.大家在网上经常看到,下面看一些例子: 那用python生成一个词云的话怎么办呢,首先要有一些词,咱们随便找个吧,用see you again的歌词好了 ...

  8. sprintf拼接字符串的问题

    ] = {}; char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', ...

  9. SQL SERVER 2008 彻底卸载干净方法 (转)

    最近安装SQL SERVER 2008失败后,再重新安装时老是报错,东搞西搞的很难卸干净.但又不方便重装系统,经按下面方法终于搞定并成功安装上2008 1.停掉SQL SERVER 2008所有相关服 ...

  10. POJ3013 Big Christmas Tree

    题目:http://poj.org/problem?id=3013 求每个点到1的最短路.不是最小生成树. 总是WA.看讨论里说INF至少2e10,于是真的A了! 算一下,dis最大可能3276800 ...