私はフレックスアプリケーションで作業しています。同期メソッドでデータを呼び出す必要があります。いくつかの調査の後、私はajaxと外部インターフェイスを使用するadobeのコードを見つけました。すごいね。ajaxサーブレットへのPOST:nullパラメータ
私はGETメソッドを使用してデータを送信、サーブレットは、パラメータやプリント一部に関する情報を(チェックする)をお読みください。しかし、POSTメソッドでデータを送信すると、サーブレットはリクエストを受信しますが、パラメータは消えてしまいます。
例:
SERVLET - GET
System.out.println("recieved GET");
Map attrib = request.getParameterMap();
System.out.println("parameters: " + request.getParameterMap().size());
for(Object key: attrib.keySet()){
System.out.println("key: "+key.toString() +" - "+attrib.get(key));
}
SERVLET - POST
System.out.println("recieved POST");
Map attrib = request.getParameterMap();
System.out.println("parameters: " + request.getParameterMap().size());
for(Object key: attrib.keySet()){
System.out.println("key: "+key.toString() +" - "+attrib.get(key));
}
FLEX GET METHOD
var ajax:Ajax = new Ajax(DATABASEURL + "?username=test);
ajax.requestType = AjaxRequestType.GET;
ajax.async = false;
var result:String = ajax.send();
recieved GET
parameters: 1
key: username - [Ljava.lang.String;@4977e2
FLEX POST METHOD
var ajax:Ajax = new Ajax(DATABASEURL);
ajax.requestType = AjaxRequestType.POST;
ajax.async = false;
var result:String = ajax.send("username='test'");
サーブレットによって印刷:
recieved POST
parameters: 0
何が問題になっていますサーブレットによって印刷されましたか?
リクエストが送信された場合、なぜ今のパラメータはありませんか?
誰かが私を助けることができれば、それはすばらしいことです。私はGoogleでそれほど多くのことを探しているので、Googleが私を迷惑メールとしてブロックする可能性があるからです。
編集:ウェルカムは印刷できませんか?だから...
なぜ同期要求が必要ですか?私はこの方法でJavaScriptを使用しようとしていると思うが、Flashアプリケーションは問題を求めているだけだ。 – JeffryHouser
アプリケーションは、サーブレットからデータをロードする必要があります。 httpServiceオブジェクトは詳細を除いて完全に行います....結果はresultイベントから来たものです。したがって、このhttpServiceを使用するこのクラス(データベース)を使用するClass(データ)はnullオブジェクトを受け取り、このクラス(データベース)が結果を受け取ると、それは遅すぎます。クラス(データ)はすでに結果を取得しています。とにかく結果は間違っていますが、結果は間違いです。 同期的に呼び出してこの問題を解決します。この関数は真の値を返します。 – blaazzze
何をお話しますか?フロントエンドで重大な意味を持たずに同期要求を行うことは不可能です。バックエンドサービスへの同期呼び出しを必要とする理由はありません。私はあなたがしなければならないことは、あなたがしようとしているもの(まだ理解していない)のためのより良いアーキテクチャを作成することだと思っています... –