我需要从文件text.log
获取文字,这是我的代码:
vm.logget = function(){
$http({
method: 'Get',
url: 'text.log'
})
.then(function successCallback(response) {
$scope.logget = response;
console.log($scope.logget);
}, function errorCallback(response) {
console.log(response);
console.log('error');
});
}
text.log:
creating: /asd/ds/das/das-dsss/
creating: /asd/ds/das/das-dsss/
creating: /asd/ds/das/das-dsss/
creating: /asd/ds/das/das-dsss/
creating: /asd/ds/das/das-dsss/
PLunker:http://plnkr.co/edit/g1t4pludTTIAJYKTToCK?p=preview
我在succesCallback中没有得到任何东西。 提前感谢您的回答!
答案 0 :(得分:1)
使用ng-controller="FirstCtrl as vm"
或将功能更改为
$scope.logget = function() {
$http({
method: 'Get',
url: 'text.log'
})
.then(function successCallback(response) {
$scope.data = response;
console.log($scope.data);
}, function errorCallback(response) {
console.log(response);
console.log('error');
});
}
工作plunker
答案 1 :(得分:1)
请在您的plunker中尝试以下代码: 在HTML中:
<body ng-controller="FirstCtrl as vm">
<button ng-click="vm.logget();" type="button" class="btn btn-default">Log</button>
{{vm.loggetData}} <!--See I have changed the Binding variable-->
</body>
并在Controller中:
var app = angular.module('app', ['ui.bootstrap']);
app.controller('FirstCtrl', function($scope, $http) {
var vm = this;
vm.logget = function(){
$http({
method: 'Get',
url: 'text.log'
}).then(function(response) {
vm.loggetData = response.data;
}, function(response) {
console.log(response);
console.log('error');
});
}
});
答案 2 :(得分:1)
您的代码中存在两个问题
首先,你必须使用控制器作为语法
ng-controller="FirstCtrl as vm"
其次,你必须访问你的回复的数据属性
vm.logget1 = response.data;
Working Plunker :http://plnkr.co/edit/cqhzeb4dJoyr7BSP2LAA?p=preview
注意:如果您使用其他变量来存储您的响应,那就更好了,因为logget已经是您的函数名称。如果您使用控制器作为语法
,也可以尝试避免$scope
有关控制器的更多信息:AngularJs "controller as" syntax - clarification?