angular 1做项目时 报错TypeError: Cannot read property 'then' of undefined
程序员文章站
2022-07-03 10:38:03
...
项目配置 : 基于angular 1 ui-router.js做的跳转
项目报错:TypeError: Cannot read property 'then' of undefined
报错代码: 是在conctroller中使用.then函数 ,service中$http.get函数请求数据时 时报的错。
View1Service.js中的代码
//service最适合做数据 angular.module("myApp") .service("View1Service",['$http',function($http){ this.getData =function(){ $http.get("http://h5.yztctech.net/api/axf/apihome.php") } }])
View1Ctrl.js中的代码
angular.module('myApp') .controller("View1Ctrl",['$scope','View1Service',function($scope , View1Service){ $scope.data=[];//数据 controller并适用于做数据的交互 这里交给service来处理 View1Service.getData() .then(function(res){ console.log(res) }) }]);报错原因: 说明通过View1Servioce拿到的不是一个 Promise,应该是这里没有把这个 promise 一路返回。
代码修改:
//service最适合做数据
angular.module("myApp")
.service("View1Service",['$http',function($http){
this.getData =function(){
return $http.get("http://h5.yztctech.net/api/axf/apihome.php")
}
}])
$http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。
使用格式:
// 简单的 GET 请求,可以改为 POST
$http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
// 请求成功执行代码
}, function errorCallback(response) {
// 请求失败执行代码
});
上一篇: 再见线程