2016-03-20 40 views
0

angularJS ile aşina değilim ve http.get() kullanmaya çalışırken sorun yaşıyorum. Bir QR taraması tamamlıyorum ve QR kodundan alınan metin daha sonra URL'm içine yerleştirilecektir. Benim aldığım sorun, tarama tamamlanmadan önce http.get() işleminin yürütülmesidir. Bu nedenle "Hata" geri dönüyor. Bunu nasıl yapabilirim ki http.get (url) sadece $ scope.QRScan() işlevi tamamlandıktan sonra yürütülür.açısal js http

$scope.QRscan(); /// Want to finish first 

    var params = "?number=" + $scope.QRText; 
    params += "&action=ci"; 

    var url = "http://test/test.php" + params; 

    var promise = $http.get(url); 

    promise.then(
    function(payload) { 
     var r = payload.data; 

     if (r.status.toString() == '1') { 
     var alertPopup = $ionicPopup.alert({ 
      title: ' successful ', 
     }); 
     } else { 
     var alertPopup = $ionicPopup.alert({ 
      title: 'Error', 
     }); 

     }; 
    }); 

QRScan()

$scope.QRscan = function() { 
    $cordovaBarcodeScanner.scan().then(function (qrData) { 
    }, function (error) { 
    var alertPopup = $ionicPopup.alert({ 
     title: 'There was an error scanning the QR code.', 
    }); 
    }); 
    $scope.QRText = qrData.text; 
}; 
+0

bu $ kapsamı var mı? QRscan() bir söz verdiğinde, veya geri arama işlevini kabul ediyor mu? node.js engellemesizdir, garanti kapsamı yoktur. QRscan(), var params = "? number =" + $ scope.QRText; Geri aramak ya da –

cevap

0

$ http.get()

bunu şöyle yazabiliriz eşzamansızsa:

function getData() { 
    return $http.get(url) 
    .then(function(data) { 
    // this is where we can manipulate your data 
    // set to $scope object/whatever 
    // because its async, we need to use a promise (or callback) to wait for 
    // the response from your get request 
    }) 
    .catch(function(err) { 
    // if err, console.log(err) 
    }) 
} 

yapmanın birkaç yolu vardır Bu, aşağıdaki açısal dokümanlarda 'Kısayol Yöntemleri' altındadır: https://docs.angularjs.org/api/ng/service/ $ http

+0

çözme sözünü beklemek zorundasınız Teşekkürler! Bu ve belgeler benim sorunuma yardımcı oldu. – Anthony

+0

güzel! Memnuniyetle yardım ettim – JordanHendrix