没有安装HTTP插件带有离子错误

Ama*_*989 10 cordova-plugins ionic3

$ ionic cordova plugin add cordova-plugin-http
$ npm install --save @ionic-native/http
Run Code Online (Sandbox Code Playgroud)

实施是:

  constructor(private https: HTTP ) {
  }

  this.https.get('http://ionic.io', {}, {})
  .then(data => {
   this.httpData =data;
   console.log(data.status);
   })
   .catch(error => {

     console.log(error.status);

     });
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

[20:49:03] console.warn:Native:尝试调用HTTP.get,但是没有安装HTTP插件.[20:49:03] console.warn:安装HTTP插件:'ionic plugin add cordova-plugin-http'

Dav*_*vid 4

如果您不想像 @alpere 建议的那样修改 ionic-native 插件,或者如果解决方案不起作用,您始终可以使用不带 ionic-native 的 cordova 插件。为此,请http通过在导入下方的某处添加以下内容来告诉 typescript 该句柄存在:

declare var http;
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

http.get(
  'https://ionic.io/',
  {},
  {},
  response => {
    console.log(response.status);
  },
  response => {
    console.error(response.error);
  },
);
Run Code Online (Sandbox Code Playgroud)

请注意,不需要,this因为 cordova 插件是在全局范围内定义的。使用不带 ionic-native 包装器的插件的缺点是,您会失去良好的类型注释、承诺回调,并且在某些情况下,您将不得不自己触发角度变化检测。