2012-10-11 83 views
4

我似乎無法接受變量數據,在諮詢Adobe AS3參考資料時,我似乎做得很對,我認爲這是PHP的問題,但不確定。AS3接收來自PHP的數據

PHP - 該文件是在同一目錄中AS3文檔

<?php 

$testData = 4; 

echo "testData=" . $testData 

?> 

AS3

public function URLLoaderDataFormatExample() 
{ 
    var request:URLRequest = new URLRequest("PHPTest.php"); 
    var variables:URLLoader = new URLLoader(); 
    variables.dataFormat = URLLoaderDataFormat.VARIABLES; 
    variables.addEventListener(Event.COMPLETE, completeHandler); 
    try 
    { 
     variables.load(request); 
    } 
    catch (error:Error) 
    { 
     trace("Unable to load URL: " + error); 
    } 
} 
private function completeHandler(event:Event):void 
{ 
    var loader:URLLoader = URLLoader(event.target); 
    trace(event.target.data.testData) 
} 

trace語句應該打印4.然而,它只是打印不確定的。

回答

1

如果我沒有記錯,我自己也必須面對這個問題。

我發現的是,有時(沒有找到真正的原因)PHP發送的第一個值被取消,甚至根本沒有發送。

我已經習慣在回波的開頭添加一個非重要的應用價值,如:

echo 'unimportantvar=nothing&myXML='.$xml; 

似乎總是來解決這個問題。

1

像這樣的東西應該這樣做。

private function completeHandler(event:Event):void{ 
    var loader:URLLoader = URLLoader(event.target); 
    var urlVars:URLVariables = new URLVariables(loader.data); 
    trace(urlVars.testData) 
} 
1

Actionscript代碼看起來不錯。

Flash對變量前/後的空格非常敏感。請注意,如果您在?>之後或<?php之前有新標題,則將作爲回覆的一部分提供。

爲了確保PHP是問題所在,請使用簡單的.txt替換.php文件,其中只有文本testData=4,沒有附加的新行或空格,並嘗試加載該文件。

如果加載正確,問題出在PHP文件上 - 在瀏覽器中導航到PHPTest.php,並檢查是否另外插入了內容。

+0

是的,PHP的東西有問題。 .txt文件正常工作。 – user1739005