1

AS3でアレイを作成し、NetConnectionを使用してred5サーバーに次のように送信しています。

var data:Array = new Array();

data.push("getTest");

NC.call("getUsers", new Responder(onSuccess, onFail), data);

そしてサーバー側では:

public Object getUsers(Object[] params) {

        logger.warn("params = "+params);
        logger.warn(params[0]);
        List<Object> u = (ArrayList<Object>)params[0];
        logger.warn(u.get(0));

        return params;
}

ただし、次の行は次のとおりです。

List<Object> u = (ArrayList<Object>)params[0];

縫い目が何らかの理由で失敗している。

4

1 に答える 1

2

私はJavaにあまり詳しくありませんが、パラメーターの配列を渡そうとしたときにAMFPHPで同様のリモート処理の問題が発生したと思いますが、サーバー側で配列として読み取られません。私の解決策は、(Actionscriptで)Function.applyメソッドを使用することでした。あなたの場合、それは次のようになります:

var data:Array = new Array();

data.push("getTest");

NC.call.apply(this, ["getUsers", new Responder(onSuccess, onFail)].concat(data));

多分あなたのためにも働くことができますか?それが役に立てば幸い。

于 2011-07-09T17:46:25.157 に答える