首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS $http获取文本

AngularJS $http获取文本
EN

Stack Overflow用户
提问于 2017-08-17 15:25:09
回答 3查看 677关注 0票数 0

我需要从文件text.log中获取一个文本,下面是我的代码:

代码语言:javascript
复制
  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:

代码语言:javascript
复制
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中没有得到任何东西。感谢您的提前答复!

EN

回答 3

Stack Overflow用户

发布于 2017-08-17 15:30:53

使用ng-controller="FirstCtrl as vm"或将函数更改为

代码语言:javascript
复制
$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
EN

Stack Overflow用户

发布于 2017-08-17 15:31:53

请在您的柱塞中尝试以下代码: HTML:

代码语言:javascript
复制
 <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>

在控制器中:

代码语言:javascript
复制
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');
            });
      }

});
票数 1
EN

Stack Overflow用户

发布于 2017-08-17 15:33:41

您的代码中有两个问题

首先,您必须使用控制器作为语法

ng-controller="FirstCtrl as vm"

其次,您必须访问响应的data属性

代码语言:javascript
复制
 vm.logget1 = response.data;

工作柱塞http://plnkr.co/edit/cqhzeb4dJoyr7BSP2LAA?p=preview

注意:由于已经是您的函数名,因此最好使用不同的变量来存储响应。如果使用controller作为语法,也要尽量避免使用$scope

有关控制器的更多信息,请使用:AngularJs "controller as" syntax - clarification?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45728967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档