Flash联系表;无法返回服务器响应

时间:2009-06-26 13:51:40

标签: flash actionscript-3 http-status-codes

我有一个连接到我网站后端的联系表单,表单提交得很好,但我没有得到服务器响应。它始终是“未定义的”。我担心这可能是因为this,但我希望也许你们中的一个聪明人可以帮助我找到一个解决方法,或者是不是因为that(注意:很可能) ),那么也许你可以告诉我我做错了什么。

//==========================================================
public function openForm():void {
//==========================================================
    var sendForm:URLLoader = new URLLoader();
    var newFile:FileReference = new FileReference();
    var request:URLRequest = new URLRequest(urlString);
    if (form1.planby.visible && form1.planby.upload.selected) {
        newFile.addEventListener(HTTPStatusEvent.HTTP_STATUS, responseStatus);
        newFile.upload(request, "attache[attachment]", false);
    } else {
        sendForm.addEventListener(HTTPStatusEvent.HTTP_STATUS, responseStatus);
        sendForm.load(request);
    }
}

//==========================================================
function responseStatus(e:HTTPStatusEvent):void {
//==========================================================
    //e.status == "undefined" according to debugger
    if (e.status == 200) {
        openPage("success");
    } else {
        openPage("error");
    }
}

2 个答案:

答案 0 :(得分:2)

根据我的经验,获取HTTP调用的状态代码是非常不可靠的,除非您在AIR中部署。

考虑到这一点,你通常最好让服务器发回一些简单的文本,确认一切正常 - 如果你没有得到那个文本,那么进入你的错误模式。

是的,这是一个痛苦的屁股,社区中的每个人都迫切地希望Adobe很快解决这个问题。

答案 1 :(得分:1)

你是不是应该监听Event.COMPLETE事件而不是HTTP_STATUS事件(正如Branden所说,这是不可靠的)?