AngularJS-返回成功$http.post
我使用AngularJs,需要在$http.post连接后返回数据。代码如下:AngularJS-返回成功$http.post,angularjs,angular-http,Angularjs,Angular Http,我使用AngularJs,需要在$http.post连接后返回数据。代码如下: app.controller('PrincipalController',['$http', '$scope', function($http,$scope){ $scope.myData = 0; $http.post("server/checklogin.php", {id: "id",email: "email",password: "password"} ) .success(func
app.controller('PrincipalController',['$http', '$scope', function($http,$scope){
$scope.myData = 0;
$http.post("server/checklogin.php",
{id: "id",email: "email",password: "password"}
)
.success(function(data){
console.log($scope.myData) //0
$scope.myData = data;
console.log($scope.myData); // 1
}
OLD:如何将数据传递到myData中谢谢你的回答,如果我解释得不好,很抱歉
但是现在,在html中,{{myData}}
我可以写什么
我不知道它是否是基本的,但我将不得不使用“myData”和“ng if”
编辑:谢谢!我想我已经解决了你应该这样做:
.success(function(data){
$scope.myData = data;
//OR
myCallback(data);
console.log(data) //data = 1 (server works);
}
您不能将分配放在post调用之后,因为调用是异步的,您无法预测它返回的确切时间
我使用了
$scope
,因为通常情况下,您可以通过控制器上的服务使用它,其中有一个作用域可用。否则,您可以在回调中使用函数,通常在您的服务中,您将返回承诺
myService.getCheckLogin = function {
return $http.post("server/checklogin.php",
{id: "id",email: "email",password: "password"}
);
}
然后在控制器中
myService.getCheckLogin()
.success(function(data){
$scope.myData = data;
}
.error(function(err){
console.log(err);
}
很抱歉,我无法理解这个问题,您只需在“success”函数中执行“myData=data”,有什么问题?无论您希望对数据执行什么操作,都必须在成功中使用。由于异步的性质,您不能将其带到外部。要做您想做的事情,即以同步方式使用异步检索的数据,唯一的angularish方法是使用$resource服务,当数据从服务器返回时,该服务将填充myData变量(前提是它在$scope中)$http不立即提供此功能,您只能在回调中使用返回的数据。请不要使用
this.myData或$scope.myData
both@entre好啊但是它不起作用。。我该怎么办?不应该在.error调用之前关闭success方法的“')?