存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
How store $http get response in variable accesible from outside $http function (Angularjs)?
我仍在学习angular和javascript,我发现了stack溢出真的很有帮助。事实上,这是我第一次在其他问题中找不到解决问题的方法;答案在这里。我尝试了很多解决方案,但都不起作用。
简而言之:我想把$http-get(用户数据)的响应保存在变量中,这样我就可以在这个控制器的其他函数中使用它。
我的工厂与$http获取功能:
app.factory('getUserFactory', ['$http', function($http){
return {
getUserData : function(email, password) {
return $http.get('https://xxxxxxx.xxx.xx/api/v1/user/', {
headers: {
"Authorization": 'Basic '+ window.btoa(email +':'+password)
}
});
}
};
}]);
我的控制器功能:
app.controller('UserController', ['$scope','$http', 'getUserFactory', function($scope, $http, getUserFactory) {
var user= {}; //Used to bind input fields from html file
$scope.user= user;
$scope.userData = {}; // <-- HERE I WANT TO STORE RESPONSE
$scope.logIn = function() { // function runs on click
getUserFactory.getUserData(user.email, user.password).success(function(response){
$scope.userData = response.objects[0];
});
};
我用简单的点击功能来测试它是否有效:
$scope.consoleLog = function () {
console.log($scope.userData);
};
我认为我的问题与javascript的异步有关,但我总是先调用$http-get(用户单击"登录"按钮),然后尝试使用response来显示用户详细信息。但在$scope.logIn()
之外,$scope.userData
又变成了一个空对象。
我假设您正在onclick中调用登录方法。只需尝试以下操作:;
$scope.logIn = function() { // function runs on click
getUserFactory.getUserData(user.email, user.password).then(function(response){
$scope.userData = response.objects[0];
});
};
相关文章:
- 我无法使用angularJs($http)访问服务器
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- 访问Protractor/E2E测试中的$http数据(AngularJS)
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- Angular Provider/JS-如何访问'叔叔方法'从$http().then()
- jQuery 表单插件:XMLHttpRequest 无法加载 http://www...没有“访问控制允许来源”
- Meteor:使用HTTP.get从客户端访问网站(CORS错误)
- jQuery成功,访问HTTP状态文本
- Javascript HTTPS帧访问父HTTP帧
- 无法从JavaScript访问cookie,但在HTTP标头上可见
- http(localhost或remote)提供的文件是否可以从通过file://protocol打开的本地文件访问?反
- 如何访问您没有访问的HTTP响应的标头't使用javascript通过AJAX发送
- 通过HTTP服务器上的父级目录访问HTML中的JavaScript文件
- 当使用http访问我的facebook iframe页面时,我如何才能获得Modal而不是弹出窗口
- 角美元http.访问同一主机但不同端口失败,没有任何有意义的错误
- 尝试使用http访问API时出错.进入node.js
- 通过http访问浏览器中的摄像头
- 仅从http访问dropbox上的客户端Javascript文件