我正在尝试在Ionic Framework 3.1应用程序中实现HTTP请求。我使用ionic g provider apidata command
创建了一个名为apidata
的提供商,然后在其中创建了以下功能,该功能调用API并记录其在控制台上返回的数据。
getremotedata(){
console.log(this.http.get('https://reverie.oiamigotech.com/wp-json/wc/v2/products/?consumer_key=ck_xyz&consumer_secret=cs_xyz'));
}
,还以import { Http } from '@angular/http';
之后,我更新了app.module.ts文件以将提供商导入为import { ApidataProvider } from '../providers/apidata/apidata';
,并且还将其添加到提供商列表中的 providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
ApidataProvider
]
现在,当我尝试从主页调用相同的内容并使用以下函数和构造函数定义
constructor(public navCtrl: NavController,public ApidataService: ApidataProvider) {
}
ionViewDidLoad(){
this.ApidataService.getremotedata();
}
它生成以下错误 Uncaught (in promise): Error: No provider for Http!
https://www.youtube.com/watch?v=vuc4dp0qhsc以获取有关集成的说明。
我是Ionic的新手,无法找到和调试这个问题。任何建议都非常受到欢迎。
导入httpmodule,然后将其添加到 app.module.ts page page page offimpts下的页面,
import { HttpModule } from '@angular/http';
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp)
]
删除您的app.module.ts页面中的任何其他http导入,该页面应该有效