ngCordova 条形码扫描仪在扫描数据中提供对象对象

ngCordova barcode scanner is providing Object Object in the scannedData

我是 Cordova 的新手。我正在尝试通过参考此 document 来扫描二维码。当我在 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有什么用?

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

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);