我有服务:
angular.module('services', [
])
.service('userService', function ($http, $q, auth, userFactory) {
var user = null;
if(!user){
userFactory.getUser2(auth.currentUser()).getValue(function(result){
//console.log(result);
user = result;
console.log("request");
});
}
this.getUser = function() {
//console.log(user);
return user;
}
})
;
此服务调用工厂函数:
userFactory.getUser2 = function(usr){
return{
getValue: function(callback){
$http({
method: 'POST',
url:'http://groep6api.herokuapp.com/user',
headers: {'Content-Type': 'application/x-www-form-urlencoded'
//'authentication': 'bearer' + $window.localStorage.getItem('eva-token')
},
transformRequest: function(obj) {
var str = [];
for(var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
return str.join("&");
},
data : {username: usr}
}).success(function (result) {
//console.log("userfactory getUser:", result[0]);
callback(result[0]);
});
}
}
};
现在,当我执行代码时,我在开发人员工具中看到了这一点:
这是从哪里来的?
的console.log("请求&#34);
只执行一次,但显然有2个请求?
答案 0 :(得分:0)
简而言之,索引是您所在的页面
如果在未指定index.html页面的情况下打开页面页面,则服务器将尝试加载该文件夹的索引文档。当Chrome需要通知您error
或console.log()
时,它不能通知您,因为它不知道实际的文件名。
因此(指数)