AS3でMySQL結果配列を読み取る方法を誰かが説明できるかどうか疑問に思っていました。
私は使っている:
var loader:URLLoader = new URLLoader();
var urlReq:URLRequest = new URLRequest("http://domain.com/get-api.php");
var urlVars:URLVariables = new URLVariables();
loader.dataFormat = flash.net.URLLoaderDataFormat.TEXT;
urlReq.method = URLRequestMethod.POST;
urlReq.data = urlVars;
urlVars.mySubmittedRateID = GlobalVariables.mySubmittedRateID;
urlVars.myPostcode = GlobalVariables.currentPostcode;
loader.addEventListener(flash.events.Event.COMPLETE, getDataOnComplete);
loader.load(urlReq);
パラメーター (実際には 2) を get-api.php ファイルに渡します。このファイルでは、PHP でパラメーターを読み取り、パラメーターに一致するすべての結果を取得する通常の SQL select where ステートメントを使用します。
私の getDataOnComplete 関数は次のとおりです。
private function getDataOnComplete(event:flash.events.Event):void
{
var loader:URLLoader = new URLLoader(event.target);
var resultsArray:Array = JSON.decode(loader.data);
}
私のPHP:
$row_array['done'] = "true";
return json_encode($row_array);
エラー:
Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.
at Error$/throwError()
at flash.net::URLVariables/decode()
at flash.net::URLVariables()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
何らかの理由で、getDataOnComplete 関数に到達することさえできません。