2011-12-13 22 views
2

私はActionscriptのwebservicesで作業する必要があります。 GETメソッドだけを実装するJSON URLを使用できるようにする次のコードが見つかりました。しかし、POSTメソッドでは機能しません( "onComplete"メソッドには入っていません)。私はネットを検索して答えを見つけることができませんでした。 Actionscript 3.0を使用してJSONデータを「POST」するにはどうすればよいですか?Actionscript 3.0を使用してJSONデータを投稿するには?

package 
{ 
import flash.display.Sprite; 
import flash.net.URLRequest; 
import flash.net.URLLoader; 
import flash.events.*; 
import com.adobe.serialization.json.JSON; 

public class DataGrab extends Sprite { 

    public function DataGrab() { 

    } 

    public function init(resource:String):void { 
      var loader:URLLoader = new URLLoader(); 
      var request:URLRequest = new URLRequest(resource); 
      loader.addEventListener(Event.COMPLETE, onComplete); 
      loader.load(request); 
    }  

    private function onComplete(e:Event):void { 
      var loader:URLLoader = URLLoader(e.target); 
      var jsonData:Object = JSON.decode(loader.data); 
      for (var i:String in jsonData) 
      { 
       trace(i + ": " + jsonData[i]); 
      } 
    } 
} 
} 
+0

でそれをやっている、それはあなたがカスタムヘッダーを取得します使用する必要があるなら、私は –

答えて

4

URLRequestオブジェクトで使用するメソッドを指定する必要があります。デフォルトはGETです。これはあなたのinitメソッドに2つ目の引数が考えられます。この関数を呼び出すと

public function init(resource:String,method:String = "GET"):void { 
    var loader:URLLoader = new URLLoader(); 
    var request:URLRequest = new URLRequest(resource); 
    request.method = method; 
    loader.addEventListener(Event.COMPLETE, onComplete); 
    loader.load(request); 
} 

は、あなただけの余分な安全性の少しのための文字列を渡すのではなく、URLRequestMethodの静的GETPOSTプロパティを使用することができます。

+0

ヘッズアップやりたいということです正確に何を明確にしてください。 Flashはこの機能をサポートしていません。 https://stackoverflow.com/questions/223312/custom-headers-possible-with-urlrequest-urlstream-using-method-get/695890#695890をご覧ください。 – haysclark

4

、私は非常に明確ではありません

import com.adobe.serialization.json.JSON; 

var messages:Array = new Array(); 
messages.push ({"nombreArchivo":"value"}); 
messages.push ({"image":"value"}); 

var vars: URLVariables = new URLVariables(); 
vars.data = JSON.encode(messages); 

var req: URLRequest = new URLRequest(); 
req.method  = URLRequestMethod.POST; 
req.data  = vars; 
req.url   = "crearIMG.php" 

var loader:URLLoader = new URLLoader(); 
loader.addEventListener(Event.COMPLETE, handleServerResponse); 
loader.load(req); 
関連する問題