Angularjs TypeError:无法读取未定义的属性“data”

时间:2015-12-04 14:11:52

标签: javascript angularjs

当我输入ta字段时,我正在使用角度指令(angucomplete-alt)生成建议列表。我有一个问题,如果我使用$ http来执行请求,那么指令将获取数据并显示它。

 return $http.get(
            myurl,
            {
                params: {
                    code: strQuery.toUpperCase()
                }
            }
        );

警告,如果我在一个诺言中返回数据,那么该指令就会一直给我一个错误。我怎样才能正常地完成这项工作,即使我正在调用相同的端点我得到不同的响应

 return service.mymethod(strQuery)
            .then(function(data) {

               console.log(data);

        });

1 个答案:

答案 0 :(得分:0)

虽然目前还不清楚你想要实现的目标,但这是一种呼叫服务的方式:

var app = angular.module('myApp', []);
app.controller('myController', function($http) {
  $http.get(myUrl, { params: {  code: strQuery.toUpperCase() }})
  .then(
    function (response, status) { // on success
      console.log(response);
    }, 
    function(error, status){ // on error
      console.log(error);
  });
}); 

$http.get返回一个promise,它是处理异步操作的模式。一个promise以异步方式运行,并在完成处理后返回值(成功或出错)。