我试图使用http native plugin发送来自ionic 2应用程序的HTTP put
请求,但是,从doc中我只看到post
和get
请求方法已实现。如何使用ionic2 native http插件发送HTTP PUT请求?
第一:我想知道,如果HTTP方法delete
和put
并没有真正实现(因为我可能不会在文档在看正确的地方)。
第二个:如果这些都没有实现,我们如何从ionic 2 app生成put
和delete
?是否有可能在低级别上完成,而无需修改插件本机/库代码?
在此先感谢。
更新1:没有为put
,delete
和postJSON
实现(https://github.com/wymsee/cordova-HTTP/pull/105)的拉请求,但是从2016年9月至今2017年4月它不与主合并。
更新2:首先我要感谢@Jamil Hijjawi的答案。这解决了问题。但顺便说一下,我想提到解决方案2需要一些服务器配置来绕过CORS,所以我选择了第一个。另外还有一篇不错的文章https://www.joshmorony.com/using-cordova-plugins-in-ionic-2-with-ionic-native/,解释了如何使用不属于“Ionic Native”的cordova插件,我建议通过它。我想指出的一个部分,如:
在其中使用离子型2非离子本地插件的方式是一样的,你会用它在任何科尔多瓦项目的方式,但是这是插件的文档说你应该使用它。但是,您需要采取一些额外步骤,因为TypeScript会导致一些问题。
进一步说这说明了我们需要的插件在地方,比如declarations.d.ts
所以打字稿知道关于申报出口全球的可变cordovaHTTP
。一旦声明,不需要依赖注入。以下是我在随机组件函数中使用的代码片段。
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(
public navCtrl: NavController,
private _platform: Platform
) {
this._platform.ready().then(() => {
// ========== We need this part
cordovaHTTP.put('http://192.168.0.5:8081/test-route', {
really: "Yea!"
}, {}, (res: any) => {
console.log(res);
}, (err: any) => {
console.log(err);
});
// ========== till here, as for the example of usage
});
}
}
谢谢你的回复,但我有声明部分存在问题。如何在declarations.d.ts中声明cordovaHTTP名称空间?你可以添加一些代码片段吗? – Musa
欢迎您将'declare var cordovaHTTP:any;'添加到'declarations.d.ts'中 –
我在做同样的事情,但是我得到的HTTP没有定义。我想我需要链接一些JS文件到定义文件,但是,我无法弄清楚如何 – Musa