Флэш-контактная форма; Ошибка возврата ответа сервера - PullRequest
1 голос
/ 26 июня 2009

У меня есть контактная форма, которая подключается к серверной части моего сайта, форма отправляется просто отлично, но я не получаю ответа от сервера . Это всегда «неопределено». Я боюсь, что это может быть из-за этого , но я надеялся, что, может быть, кто-то из вас умнее поможет мне найти или обходной путь, или если это не из-за , что ( примечание: скорее всего), тогда, может быть, вы скажете мне, что я делаю не так.

//==========================================================
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 ]

2 голосов
/ 26 июня 2009

По моему опыту, получение кодов состояния HTTP-вызовов просто ненадежно, если только вы не развертываете в AIR.

Имея это в виду, вам, как правило, лучше, если сервер отправит обратно простой текст, проверяющий, что все работает нормально - если вы не получите этот текст обратно, перейдите в режим ошибок.

Да, это боль в заднице, и все в сообществе отчаянно надеются, что Adobe скоро решит эту проблему.

1 голос
/ 26 июня 2009

Разве вы не должны слушать событие Event.COMPLETE, а не событие HTTP_STATUS (которое, как говорит Бранден, ненадежно)?

...