LoginSignup
10
11

More than 5 years have passed since last update.

Haxeを使えばAJAXが楽々。

Last updated at Posted at 2012-10-30

JavaScriptでAJAXをやろうとすると、手順が多かったりIE6用のコードが必要だったりめんどくさい。

でも、Haxeなら簡単。

例えば、data.xmlから読み込んだデータをalertで表示する場合。

同期通信

Main.hx
import haxe.Http;
import js.Lib;

class Main {
    static function main() {
        Lib.alert( Http.requestUrl("data.xml") );
    }
}

データを読み込む処理自体はHttp.requestUrl("data.xml")だけで終わっています。

非同期通信

必要最低限のコードはこんな感じです。

Main.hx
import haxe.Http;
import js.Lib;

class Main {
    static function main() {
        var http = new Http( "data.xml" );
        http.onData = function( data:String ){ Lib.alert( data ); }
        http.request( false );
    }
}

さらに、ポストしたりエラー処理を行ったりというもっと細かい処理ももちろん書けます。

Main.hx
import haxe.Http;
import js.Lib;

class Main {
    static function main() {
        var http = new Http( "data.php" );
        http.onData = function( data:String ) { Lib.alert( data ); }
        http.onError = function( msg:String ) { Lib.alert( msg ); }

        var name = "hoge";
        var address = "hogehoge";
        http.setPostData( Std.format( "name=$name&address=$address" ) );

        http.setHeader( "Content-Type", "application/x-www-form-urlencoded" );
        http.request( true );
    }
}

ちなみにこれらのコードはIE6対応がされてます。

10
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11