angularJS的controller层向service层传参,并通过service层进行带参访问后台
- service层代码
angular.module('loginPage.service',[])
.factory('loginPageService',function(configService,$http){
return{
login : function(phone, callback){
var url = configService.getHostUrl() + '/loginPage/login.do?callback=JSON_CALLBACK'
$http.jsonp(url,{
method:'get',
params:{'phone':phone},
headers : {'Content-Type': 'application/x-www-form-urlencoded'},
})
.success(function(data){
var obj = JSON.stringify(data);
localStorage.setItem("userMessage",obj);
//console.log(localStorage.user);
callback(data);
})
}
}
})
- controller层代码
loginPageService.login($scope.user.phone, function(data){})
谈谈我对这种写法的理解,angular JS 其实就和写后台有点类似,因为后台也有controller层和service层。我这里在service层写了一个login方法,那么controller层就可以调用这个方法,我们都知道调用方法就可以在方法里面去传参,我们只需要把参数写在方法里面就可以啦,然后service层就负责接收参数并且引用这个参数。当然这只是我的拙见。
因为我的项目要用到跨域访问,所以我这里用了jsonp方式去实现跨域访问,不过jsonp跨域访问好像只能用get方式访问,所以后台要记得也用get方式。
本文探讨了如何在AngularJS中从controller层向service层传递参数,并通过service层进行带参的后台访问。利用service层的login方法接收参数,实现controller层的调用。同时提到,由于项目需要跨域访问,故使用了jsonp方式,但需要注意jsonp仅支持GET请求。

被折叠的 条评论
为什么被折叠?



