2012-03-26 38 views
1

我有一个Flash程序需要在不同时间向服务器发送URL请求。我希望Flash能够继续尝试请求,直到成功为止。如何确保Flash不断尝试请求并不超时并退出尝试发送?我的代码如下所示:如何确保urlRequest在as3中成功

urlRequest = new URLRequest("https://xyz.php"); 
var variables:URLVariables = new URLVariables(); 
urlRequest.method = URLRequestMethod.POST; 
variables.session_id = sessionId; 
... 

urlRequest.data = variables; 
urlLoader = new URLLoader(urlRequest); 
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES; 

回答

1

您可以添加一个侦听IOErrorEvent.IO_ERROR,然后再试一次,如果它失败。还有其他一些错误是可能的,比如你也可以听到的安全错误,尽管那些失败一次然后神奇地在未来成功的可能性要小得多。

+0

我可以很容易地添加一个侦听器。如果我检测到错误,我将如何再次发送数据? – Boundless 2012-03-26 15:34:10

+0

只需再次使用urlLoader.load()方法。我建议让urlLoader成为一个类的成员,这样你可以在你的类中引用它。就是这样。 – 2012-03-26 18:10:07

+0

谢谢,这有助于我创建一个解决方案。我最终创建了一个单独的类来发送数据,所以当我需要重新发送数据时,我可以无条件地访问它。 – Boundless 2012-03-26 21:04:30

相关问题