FormData не определена — альтернатива Firefox 3.6.28

У меня есть отличная работа, заключающаяся в том, чтобы закончить работу, изначально порученную подрядчику, но так и не выполненную. Не проблема, однако мне сказали, что система должна поддерживать Firefox 3.6! Не здорово, но не то, из-за чего я бы потерял сон до сих пор! В системе есть функция Ajax, которая использует объект FormData, а затем загружает документ (обычно в формате PDF). Я запустил это через Firefox 3.6 и получил следующее

«FormData не определено»
var formData = new FormData($('form')[0]);

Это нормально, поскольку я вижу, что этот объект не поддерживается, мне просто нужно использовать другой метод или средство сбора... Я использовал это:

var formData = Components.classes["@mozilla.org/files/formdata;1"]
        .createInstance(Components.interfaces.nsIDOMFormData);

Однако это дало мне следующую ошибку!

Отказано в доступе для http://10.29.100.23:8080для получения собственности XPCComponents.classes

Я не был уверен, почему это было... путь " @mozilla.org/files/formdata;1" неверен? Я сделал больше исследований и ничего не получил! Затем я подумал о сериализации формы, изменив следующее на...

var formData =  {};

$.each($('form')[0].serializeArray(), function(_, kv) {
     if (formData.hasOwnProperty(kv.name)) {
         formData[kv.name] = $.makeArray(formData[kv.name]);
         formData[kv.name].push(kv.value);
     }else {
        formData[kv.name] = kv.value;
    }
});

хотя эта ошибка # не привела к ошибке, функция Ajax не загружалась (я предполагаю, что она не распознавала или не находила файл или просто собирала строку для значения файла). Есть ли у кого-нибудь рекомендации по альтернативе FormData в старых браузерах, особенно в Firefox 3.6 - это единственный старый браузер, который я должен поддерживать.

** обновление****

это содержимое формы на странице HTML

10
задан Daniel Allen Langdon 9 May 2012 в 20:26
поделиться