gpt4 book ai didi

javascript - 需要超出范围的 post/get 请求的 Angular 响应,有什么建议吗?

转载 作者:行者123 更新时间:2023-12-03 04:50:48 25 4
gpt4 key购买 nike

我正在尝试获取 post/get 请求的响应,在 post/get 中成功获取响应,但无法从 post/get 中获取结果。当我在控制台上打印时,它显示“未定义”。任何建议,这是我的代码

index.html:

<div ng-app="myApp" ng-controller="customersCtrl">{{ponies}}</div>

Angular 代码:

var myApp = angular.module('myApp', []);

Angular 服务:

myApp.factory('ponyService', function($http) {
var getPonies = function() {
return $http.get('https://www.w3schools.com/angular/customers.php');
};

return {
getPonies: getPonies
};
});


myApp.controller('customersCtrl', function($scope, ponyService) {

ponyService.getPonies().success(function(data) {
$scope.ponies = data;
});
console.log($scope.ponies); // here want to print data because want to use whole controller

});

最佳答案

这是因为发布和获取是异步的。

您的 console.log 不会等待响应。

将您的控制台放入成功中以便检查其数据。

尝试这样

ponyService.getPonies().success(function(data) {
$scope.ponies = data;
console.log($scope.ponies);
});

或者您可以观察它的变化(但不建议仅用于测试目的),

像这样

ponyService.getPonies().success(function(data) {
$scope.ponies = data;
});

$scope.$watch("ponies",function(val){
if(val)
console.log(val)
})

关于javascript - 需要超出范围的 post/get 请求的 Angular 响应,有什么建议吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42664811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com