簡體   English   中英

如何將HTTP請求發送到PHP頁面並在AS3中獲取echo響應?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM