AdvancedHTTPプラグイン

テスト環境 ( バージョン番号 ) : 3.3.0

このプラグインの詳細は、こちら ( GitHub ) をご確認ください。

このプラグインでは、グローバルオブジェクト「cordova.plugin.http」のAPIを使用し、HTTPサーバーとの通信を行います。

このオブジェクトは、グローバルスコープに属していますが、使用できるのは、deviceready イベントの発火後になります。

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(cordova.plugin.http);
}

プラグインID

cordova-plugin-advanced-http

プラグインの追加方法(Monaca上での操作)

  1. Monaca クラウド IDE から設定 → Cordova プラグインの管理 を選択します。

  2. 利用可能なプラグイン 項目の AdvancedHTTP プラグインにカーソルを置き、有効ボタンをクリックします。

機能

  • iOSやAndroidのネイティブ機能を用いてHTTP通信を行います。

  • Javascript でfetch API などを用いた場合に比べて以下のような利点があります。

    • CORSエラーの回避

APIの解説

基本的なAPI

以下の基本的なAPIについて解説します。

  • sendRequest

  • setDataSerializer

  • get

  • post

sendRequest

  • 指定したurlにHTTPリクエストを送信します。

  • optionsに様々なパラメータを設定します。

    • method: HTTPメソッド

    • headers: HTTPヘッダ

    • param: クエリ文字列(主にgetメソッドで使用)

    • data: リクエストボディのデータ。形式はserializerで指定(post,putなどのメソッドで使用)

    • serializer: データ形式の指定。詳細は後述のsetDataSerializer参照

    • その他のパラメータについてはCordova Advanced HTTP plugin参照

  • success: 成功時のコールバック

  • error: エラー時のコールバック

setDataSerializer

  • 送信するデータの形式を指定します。

  • sendRequest APIの options.serializerで指定するのと同等です。

  • POST/PUT/PATCHメソッドに対応しています。

  • 指定できる値:

    • "urlencoded"

    • "json"

    • "utf8"

    • "multipart"

    • "raw"

例1: serializer="urlencoded"

  • key1=123, key2=abc の値がフォームデータとして送信されます。(Content-Type: application/x-www-form-urlencodedでの送信に相当)

例2: serializer="json"

  • リクエストボディにJSONデータを載せて送信します。

その他のデータ形式についてはCordova Advanced HTTP pluginを参照してください。

get

  • GETリクエストを送信します。

  • sendRequest APImethod: "get"を指定した場合と同等の機能です。

  • 第2引数にクエリ文字列を指定します。

post

  • POSTリクエストを送信します。

  • sendRequest APImethod: "post"を指定した場合と同等の機能です。

  • 第2引数にデータを指定します。データの送信形式はsetDataSerializer APIで指定します。

高度な使い方

AdvancedHTTPプラグインにはその他にも様々なAPIが用意されています。

  • put / patch / delete / head / options

  • uploadFile / downloadFile

  • getBasicAuthHeader

  • useBasicAuth

  • setRequestTimeout

  • setConnectTimeout (Android Only)

  • setReadTimeout (Android Only)

  • setFollowRedirect

  • getCookieString

  • setCookie

  • clearCookies

  • setServerTrustMode

  • setClientAuthMode

  • removeCookies

これらのAPIの詳細についてはCordova Advanced HTTP pluginを参照してください。

サンプル

fetch APIとの比較

例: POSTリクエストを送信する場合

fetch API

AdvancedHTTP

サンプルアプリ

この記事に記載されたサンプルコードを実装したアプリケーションを公開しています。 Monacaにプロジェクトをインポートしてご利用ください。

サンプルアプリのインポート

最終更新

役に立ちましたか?