Jamritas.HTTPはウェブブラウザが持つXMLHttpRequestオブジェクトのラッパーライブラリです。
var client = new Jamritas.HTTP.Client; client.get('index.html', null, function(response) { alert(response.text); });
HTTPクライアントとなるオブジェクト。ウェブブラウザが提供するXMLHttpRequestオブジェクトを使用してウェブザーバとの通信を行います。
Jamritas.HTTP.Client([config])
Object
のインスタンスを与えることによりreceiver
、username
、password
を設定することができます。var client = new Jamritas.HTTP.Client({username: 'foo', password: 'bar'});
header
client.header['If-Modified-Since'] = 'Sun, 28 Aug 2005 07:37:09 GMT';
receiver
receiver
として指定されたオブジェクトはハンドラ内でthis
として参照できます。username
password
onrequest
リクエストが送信される直前に呼び出される関数。receiver
プロパティが設定されている場合、関数内でthis
として参照できます。
もし関数が例外を返しても無視され、処理が続行されます。
onresponse
レスポンスが受信された直後に呼び出される関数。receiver
プロパティが設定されている場合、関数内でthis
として参照できます。
もし関数が例外を返しても無視され、処理が続行されます。
get(path, [query, [handler]])
pathに対してGETリクエストを発行します。queryにはクエリ文字列かリクエストオブジェクトを指定します。handlerにはレスポンスハンドラを指定します。
handlerが与えられると通信は非同期的に行われます。通信が完了するとレスポンスオブジェクトを引数としてhandlerが呼び出されます。
Jamritas.HTTP.Threadのインスタンスを返します。
handlerが省略された場合は通信は同期的に実行され、通信が完了するまでメソッド呼び出しはブロックします。通信が完了すると戻り値としてレスポンスオブジェクト返します。
サーバからの応答が得られなかった場合にはError
オブジェクトが作成され、同期通信時には例外として、非同期通信時にはレスポンスハンドラの引数として返されます。
post(path, body, [handler])
pathに対してPOSTリクエストを発行します。bodyにはリクエストボディ文字列かリクエストオブジェクトを指定します。handlerにはレスポンスハンドラを指定します。
リクエストヘッダにContent-Type
Content-Typeが指定されていなければ、application/x-www-form-urlencodedを設定します。
get()と異なり、第二引数は省略できません。
その他の挙動についてはget()と同様です。
head(path, query, [handler])
pathに対してHEADリクエストを発行します。
使い方はget()と同様です。
Jamritas.HTTP.Clientのget()、post()から返されるオブジェクトです。通常ライブラリの利用者がこのオブジェクトのインスタンスを作成することはありません。
result
abort()
非同期通信を中断します。通信が完了する前にこのメソッドが呼ばれるとレスポンスハンドラは実行されません。
非同期通信が完了し、レスポンスハンドラが呼ばれた後にこのメソッドを呼んでも何も起こりません。
リクエストオブジェクトはHTTPリクエスト時のパラメータを格納したObjectのインスタンスであり、変数名から変数値へのマップとして表現されます。変数値には配列を与えることもでき、その場合には内容が自動的に展開されます。例えば以下のリクエストオブジェクトは
{name1: 'value1', name2: ['item1', 'item2']}
次のようにエンコードされリクエストとして送信されます。
name1=value1;name2=item1;name2=item2
レスポンスオブジェクトはHTTPレスポンスの情報を格納したObjectのインスタンスです。レスポンスオブジェクトは以下のプロパティを持ちます。