我使用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(function(data){
console.log($scope.myData) //0
$scope.myData = data;
console.log($scope.myData); // 1
}
OLD:我如何将数据传递给myData? - 感谢您的回答,对不起,如果我没有解释清楚。
但现在,在html中,{{myData}}
我能写些什么?
我不知道它是否是基础,但我必须使用“ng-if”来使用“myData”..
编辑:谢谢!我想我已经解决了! :d答案 0 :(得分:7)
通常在您的服务中,您将返回承诺
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);
}
答案 1 :(得分:2)
你应该这样做:
.success(function(data){
$scope.myData = data;
//OR
myCallback(data);
console.log(data) //data = 1 (server works);
}
你不能在发布后调用之后立即进行分配,因为调用是异步的,你无法预测它将返回的确切时刻。
我使用了$scope
,因为通常您可以通过可用范围的控制器上的服务来使用它。否则,您可以在回调中使用函数