[英]How to send an HTTP request to a PHP page and get the echo'd response in AS3?
我要做的是將HTTP請求發送到PHP頁面,獲取正在回顯的內容並返回它。
所以像這樣
PHP頁面:
<?php
echo "test";
AS3代碼:
function openRequest(url) {
open_page (url);
return response_from_page;
}
所以我可以在AS3中以類似方式使用該函數
if (openRequest(php_page.php) == "test") {
//do
}
我怎樣才能做到這一點?
我希望我能解釋這個概念。
謝謝。
正如akmozo在評論中所說,您可以使用URLLoader
執行HTTP請求並在COMPLETE
事件之后讀取響應。
但是,您不能完全按照您所說的做。 ActionScript在繼續執行之前不能等待異步操作(例如HTTP請求),因此函數不能在返回值之前等待。 換句話說, openRequest
可以打開HTTP請求,但是不能在返回和退出函數之前等待響應。
相反,您可以使用回調對代碼進行排序:
function openRequest(url:String, then:Function):void {
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, complete);
urlLoader.loader(new URLRequest(url));
function complete(e:Event):void {
urlLoader.removeEventListener(Event.COMPLETE, complete); // cleanup
then(urlLoader.data);
}
}
現在您可以像這樣編寫代碼:
openRequest("php_page.php", function(response) {
if (response === "test") {
// do something
}
});
請注意, openRequest
之后的任何代碼openRequest
將立即執行, 而不是在收到響應之后。 您希望在收到響應后發生的任何事情都必須放在回調中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.