我试图从var url:String中指定的地址获取回复,该地址为0或1.如果回复为1,则必须设置currentState = CallFailed(如下所示)。客户端编译没有错误(使用Adobe Flash Builder 4.6)并且似乎成功到达var url:String,但似乎没有得到响应\和或我的if语句不正确。
的ActionScript:
// check to see if block.php replies 0 or 1
var url:String = "https://domain.com/block.php?postid=" + calleeInput.text + "";
var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
request.data = variables;
request.method = URLRequestMethod.POST;
navigateToURL(request);
if (request.data == 1)
{
// if reply is 1 then cancel the call
currentState = CallFailed;
return;
}
PHP:
加载block.php时,PHP将回显0或1。它没有以任何格式编码,例如JSON \ AJAX。
答案 0 :(得分:2)
您似乎想要来自服务器的数据。也许URLLoader类会更好?
var url:String = "https://domain.com/block.php?postid=" + calleeInput.text + "";
var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
request.data = variables;
request.method = URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener( Event.COMPLETE,
function( e:Event ) : void
{
// your response data will be here
// you'll have to verify the format
trace( e.target.data );
}
)
loader.load( request );
在trace语句中放置一个断点并查看e.target.data的内容,然后从那里开始
答案 1 :(得分:2)
navigateToURL()
的目的是打开webbrowser,如文档中所述:
打开或替换包含Flash Player容器(通常是浏览器)的应用程序中的窗口。在Adobe AIR中,该函数在默认系统Web浏览器中打开URL
为了执行请求(不打开浏览器,只打开HTTP通信),您应该使用URLLoader
。
URLLoader类将URL中的数据作为文本,二进制数据或URL编码变量下载。
相关说明:您的逻辑无效。对服务器的调用是异步的。在推理结果之前,您必须等待返回响应。
URLLoader
类会调度一些事件,帮助您决定何时返回请求的结果或是否存在问题。