繁体   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