AngularJS完成后获取http服务的结果

时间:2016-09-19 10:30:50

标签: angularjs

我使用AngularJS从API获取数据 我通过Angular制作服务和控制器。我从服务中获取数据并从控制器中使用它。 我有一个Validation函数用于检查重复密钥的数据输入,服务将通过发送密钥输入到服务器来完成此操作。 单击Save时,从控制器调用函数Validate(),从Validate()调用服务CheckExistedKey()。 我有一行如下

if(validate() == true){
    alert(''); //something to do
}

以下服务

var defer = $q.defer();
var checkExistedKey = function (key){
    return $http.get('http://localhost:2807/api/Event/CheckExistedkey?key=' + key
        ).then(function (results) {
            defer.resolve(results.data);
            return defer.promise();
        });
}

但是在validate()函数之前调用了警报。 我把$ q.defer投入使用,但没有任何改变。 请帮助我。

1 个答案:

答案 0 :(得分:0)

在验证中,您还需要添加回调函数 -

 function validate(){
    var deferredRequest = checkExistedKey ();
        deferredRequest.then(function (success) {
           return true;
        }
 }

请参阅此内容 - example