#php #json #flash
#php #json #flash
Вопрос:
Я пытаюсь загрузить json из моего php во flash. Это работает, но у меня небольшая проблема. Я хочу отправить метод GET для публикации в php. Если я изменяю jsurl
бит в своем коде, он работает, но когда я меняю его на this "http://localhost/Omega/common/flash.php?AppID=" AppID "amp;amp;formid=" FormID;
, он больше не работает.
var temp:Object;
var loader:URLLoader = new URLLoader();
var jsurl:String;
if(myLoaderInfo.loaderComplete){
jsurl = "http://localhost/Omega/common/flash.php?AppID=" AppID "amp;amp;formid=" FormID;
loader.load(new URLRequest(jsurl));
loader.addEventListener(Event.COMPLETE, completeHandler);
}
В моем php-файле у меня есть что-то вроде этого:
if(isset($_GET['AppID']) amp;amp; isset($_GET['formid'])){
$id = $_GET['AppID'];
$uni = $_GET['formid'];
}else{
$id = "SOS-00002";
$uni = "UNI-00002";
}
$q = sprintf("SELECT * FROM UNI WHERE UNI.studentid= %s AND UNI.uni_id= %s", GetSQLValueString($id, "text"),GetSQLValueString($uni, "text"));
$rs = mysql_query($q);
$var = mysql_fetch_assoc($rs);
sendResponse(200, json_encode($var));
return true;
Я также указал, что мои параметры передаются в мой swf-файл следующим образом:
<param name="movie" value="WebForm.swf?AppID=<?php echo $_GET['AppID']; ?>amp;amp;FormID=<?php echo $_GET['FormID']; ?>amp;amp;resultsArray=<?php fillFlashData($_GET['AppID'], $_GET['FormID']); ?>" />
Ответ №1:
Наконец-то решил это. Похоже, я не вызывал свои переменные AppID
и FormID
прямо во Flash
Я загружал свои переменные во Flash следующим образом:
var AppID, FormID;
var resultsArray:Object;
function loaderComplete(myEvent:Event)
{
this.myParams=this.loaderInfo.parameters;
this.myParamsLoaded=true;
this.useParams();
}
function useParams()
{
AppID=this.myParams.AppID;
FormID=this.myParams.FormID;
resultsArray=this.myParams.resultsArray;
}
Изменил это на:
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters.AppID;
var paramObj1:Object = LoaderInfo(this.root.loaderInfo).parameters.FormID;
jsurl = "http://localhost/Omega/common/flash.php?AppID=" paramObj.toString() "amp;amp;formid=" paramObj1.toString();
loader.load(new URLRequest(jsurl));
loader.addEventListener(Event.COMPLETE, completeHandler);
И теперь это работает отлично.