在Android设备上运行时cordova_not_available

时间:2018-03-28 18:38:39

标签: android cordova ionic-framework cordova-plugins

我想使用cordova-plugin-advanced-http发出HTTP get请求,但是它返回一个错误,指出cordova不可用。我的问题是它在2天前工作,从昨天开始,它不再起作用了。 以下是错误消息:

[20:35:26]  console.warn: Native: tried calling HTTP.get, but Cordova is not available. Make sure to include cordova.js
            or run in a device/simulator
[20:35:26]  console.log: cordova_not_available

代码:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

import { HTTP } from '@ionic-native/http';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController,private http: HTTP) {

  }

  getHttp(){
    this.http.get('http://ionic.io', {}, {})
    .then(data => {
      console.log(data.status);
      console.log(data.data); // data received by server
      console.log(data.headers);
    })
    .catch(error => {
      console.log(error);
    });
  }
}

我厌倦了卸载所有插件和平台并重新安装它,卸载离子和cordova,但没有成功。我在谷歌上找到的所有解决方案都没有用。

[编辑] 仅当我使用-c或-l标志

运行它时才会发生这种情况

1 个答案:

答案 0 :(得分:0)

您可能需要使用以下命令启动脚本:

$$(document).on('deviceready', function() {
-- insert code here
})

在设备准备好之前,Cordova无法使用。这意味着在设备完全加载之前,插件将不可用。

原始javascript:

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    // Now safe to use device APIs
}