我試圖使用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