gpt4 book ai didi

actionscript-3 - 为什么我的 URLLoader 在完成时没有调度?

转载 作者:行者123 更新时间:2023-12-04 06:42:18 27 4
gpt4 key购买 nike

我正在使用 URLLoader 将一些键/值对发送到 php 脚本,然后将它们转换为电子邮件,发送(或不发送),然后回显带有响应的字符串。

起初它工作正常。 URLLoader 发布,一分钟后我收到了电子邮件,但由于某种原因,我没有得到回复。事实上,我的 COMPLETE 事件似乎根本没有触发。这让我很困惑,因为如果我收到电子邮件,我知道我必须正确发送所有内容。这是我的代码:

public class Mailman{
public static const METHOD:String = URLRequestMethod.POST;
public static const ACTION:String = "mailer.php";

public static var myLoader:URLLoader = new URLLoader();

private static function onMessageProgress(e:Event){
var L:URLLoader = e.target as URLLoader;
Output.trace("PROGRESS: "+L.bytesLoaded+"/"+L.bytesTotal);
for(var k in L){
Output.trace(" "+k+": "+L[k]);
}
}

private static function onOpen(e:Event){
Output.trace("Connection opened");
}

private static function onComplete(e:Event){
Output.trace("Complete!");
}

private static function onStatusChange(e:HTTPStatusEvent){
Output.trace("Status Changed to "+e.status);
}

private static function onMessageFail(e:Event){
PanelManager.alert("ERROR: Could not send your request. Please try again later.");
}

public static function sendMessage(recipient:String,subject:String,message:String){
var _vars:URLVariables = new URLVariables();
_vars.recipient = recipient;
_vars.subject = subject;
_vars.message = message;

var req:URLRequest = new URLRequest(ACTION);
req.data = _vars;
req.method = METHOD;

myLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
myLoader.addEventListener(ProgressEvent.PROGRESS,onMessageProgress);
myLoader.addEventListener(Event.OPEN,onOpen);
myLoader.addEventListener(Event.COMPLETE,onComplete);
myLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS,onStatusChange);
myLoader.addEventListener(IOErrorEvent.IO_ERROR,onMessageFail);
myLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onMessageFail);
myLoader.load(req);
}

public static function test(){
sendMessage("john@example.com","test","this is a test message.");
}

function Mailman(){}
}

当我打电话时 Mailman.test() ,我收到的电子邮件与我预期的完全一样,这就是追踪结果:

连接已打开
进度:45/45
状态更改为 0

怎么会这样?如果我正确理解文档,当我开始下载我的响应时会发生 Open 事件,并且显然正在发生,那么我怎样才能恢复 0 的 http 状态?有任何想法吗?

最佳答案

我找到了。

问题出在 URLLoader 的 dataFormat 上。这是您收到的内容的格式,而不是您发送的内容。我把它切换到 URLLoaderDataFormat.TEXT它工作得很好。

关于actionscript-3 - 为什么我的 URLLoader 在完成时没有调度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/603941/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com