ngCordova条形码扫描器在scanningData中提供Object Object

时间:2016-04-24 04:35:42

标签: android cordova barcode-scanner ngcordova

我是科尔多瓦的新手。我正在尝试通过参考此document来扫描QR码。当我在alert中执行此操作时,它会在扫描数据中提供[object Object]。任何人都有这个想法。

document.addEventListener("deviceready", function () {
$cordovaBarcodeScanner
  .scan()
  .then(function(barcodeData) {
    console.log(barcodeData);
    alert(barcodeData);
  }, function(error) {
    console.log(error);
  });

   $cordovaBarcodeScanner
  .encode(BarcodeScanner.Encode.TEXT_TYPE, "http://www.nytimes.com")
  .then(function(success) {
    alert(success);
  }, function(error) {
    // An error occurred
  });

   },false);

有谁能告诉我encode在这里的用途是什么?

1 个答案:

答案 0 :(得分:0)

当您在.then块中获得扫描条形码(或qr代码)数据时,您将获得数据的对象(哈希)。如果你想在警告框中看到它,那么你必须对它进行字符串化:

alert(JSON.stringify(barcodeData));

由于$cordovaBarcodeScanner插件仅适用于物理设计,因此您不想使用console.log

关于.encode方法。它目前不受支持。所以,没有必要使用它。文档还提到了这个事实。所以,只需删除代码中的那部分:

document.addEventListener("deviceready", function () {
  $cordovaBarcodeScanner
    .scan()
    .then(function(barcodeData) {
      alert(JSON.stringify(barcodeData));
    }, function(error) {
      alert(JSON.stringify(error));
    });
}, false);