1

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

//==========================================================
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");
    }
}
4

2 回答 2

2

以我的经验,除非您在 AIR 中部署,否则获取 HTTP 调用的状态代码是完全不可靠的。

考虑到这一点,您通常最好让服务器发回一些简单的文本,以验证一切正常 - 如果您没有收到该文本,则进入错误模式。

是的,这很让人头疼,社区中的每个人都迫切希望 Adob​​e 能尽快解决这个问题。

于 2009-06-26T14:35:35.497 回答
1

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

于 2009-06-26T15:24:12.577 回答