[英](AS3 & PHP) sending multiple values from php to flash
我正在嘗試從PHP向Flash發送多個值。 我知道如何發回一個值,那就是使用PHP的print
或echo
,然后使用e.target.data.
在閃存中e.target.data.
, 例如...
PHP:
print "resultMessage=$something";
閃:
var resultText:TextField;
resultText.text = e.target.data.resultMessage;
問題是嘗試接收2個值時; 我已經嘗試過諸如...
PHP:
print "resultNumber=$somethingNumber";
print "resultName=$somethingName";
閃:
var flashNumber:TextField
flashNumber.text = e.target.data.resultNumber;
var flashName:TextField;
flashName.text = e.target.data.resultName;
但是,當我嘗試這樣做時, flashNumber
最終會變成flashNumber和flashName混在一起,例如2Tom or 7Mary
或類似的東西。 我嘗試在PHP的兩個值之間打印<br>
,但仍然得到相同的結果。 我知道我可以將PHP分成2個PHP文件並從每個文件中獲取一個值,但這有點荒謬,因為在我的程序中,我需要獲取許多值。
還有另一種方法可以將值從PHP發送到Flash,以便我可以發送多個值? 或者,是否可以使用print
或echo
來發送多個值?
提前非常感謝您。
您可以通過以標准的URL編碼的變量格式輸出數據來做到這一點。 (您需要應用程序使用“&”號分隔變量-否則,它會認為first =之后的所有內容都是該值)
例如: print "resultNumber=$somethingNumber&resultName=$somethingName";
然后,AS3應該會自動按照您嘗試的方式工作。
您也可以按照其他人的建議輸出XML或JSON。
JSON
PHP
<?php
$arr = array(somethingName, somethingNumber);
echo json_encode($arr);
?>
AS3
var jsonObj = JSON.parse(e.target.data);
trace(jsonObj.somethingName, jsonObj.somethingNumber);
XML
PHP
<?php
$string = <<<XML
<data>
<somethingName>
blah blah blah
</somethingName>
<somethingNumber>
12345
</somethingNumber>
</data>
XML;
$xml = new SimpleXMLElement($string);
echo $xml->asXML();
?>
AS3
myXML = new XML(e.target.data);
trace(myXML.somethingName, myXML.somethingNumber);
最好使用某些數據格式,而不是將數據作為純文本傳遞-XML或JSON是一個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.