2013-05-08 47 views
0

我剛接觸ActionScript和Flash環境(剛剛開始),我試圖從.php文件獲取數據。 所以我在互聯網上找到了this AjaxRequest classActionScript隱式強制錯誤

而且我用我的主要ActionScript類,這是在同一個封裝AjaxRequest.as

我的功能(的HelloWorld.as構造函數)測試,它是:

// Create a TextField object and set its content to my php (AJAX) output 
var t:TextField = new TextField(); 
//Line 38 is this : 
t.htmlText=new AjaxRequest("http://localhost/my_ajax_agent.php?action=flash"); 
addChild(t); 

當我運行具有主類爲HelloWorld.as的Flash文件,我得到以下錯誤:

C:\path\to\HelloWorld.as, Line 38 1067: Implicit coercion of a value of type pakaj:AjaxRequest to an unrelated type String. 

編輯: 我的問題是這樣的:

我應該爲了得到一個AJAX調用的結果爲一個字符串嗎?

感謝您的幫助!

注意:我的* ajax_agent.php *文件只做到這一點。

if(@$_GET['action']=="flash"){echo "Hello World";} 

回答

0

你的代碼是錯誤的,因爲你想AjaxRequest分配給字符串(文本域的htmlText屬性是字符串類型)。

您必須使用HTML「a href」標籤在您的htmlText中編寫鏈接。

如果您想要一個請求結果,那麼您必須添加事件偵聽器來請求並執行它。當你的請求被合併時,事件將觸發,並且你可以從中檢索字符串結果數據。所以,把這些數據放到TextField的htmlText中。

+0

他希望在TextField中獲得請求結果。 – Vesper 2013-05-08 10:26:41

+0

@Vesper是我想要的。所以我真正的問題是我應該寫什麼來得到字符串的結果? – void 2013-05-08 10:56:28

0

爲了接收從你必須調用AjaxRequest.send():第一,要求任何東西,然後你必須等待,直到該請求將返回數據(查詢URLLoader.data後,將收到自己的Event.COMPLETE事件)。涉及外部數據源的任何事情都是異步的,這意味着結果不能立即提供。當然,你不能直接收到請求的結果,因此將new AjaxRequest()分配給TextField是錯誤的。錯誤就是這樣說的。使用this manualthis set of instructions瞭解如何使用裝載機並接收它們加載的內容。