У меня есть рабочий график выполнения загрузки в FF, Safari, но не в IE.
На основе jquery.form, форма отправляется, но когда загрузка заканчивается, приложение PHP отправляет целую новую страницу, которая должна быть получена в xhr.responseText. Ответ помещен в новый документ.
Это работает нормально для FF,...
В IE текст responseText начинается с "\n <table class=...", то есть текста внутри тега <body> (вместо всей страницы <html>... </html>).
Что происходит? что я должен сделать, чтобы IE сохранил все теги в ответе?
ОБНОВИТЬ:
Я использую:
Jq, чтобы зацепить вещи, выглядит так:
$('#JQF').ajaxForm({
dataType: 'html',
beforeSend: UP.start,
success: UP.stop
});
UP.stop:
function (html, status, xhr) {
startTime = null;
setTimeout(function () {
jsonForm.success(html, status, xhr);
}, 10);
}
а также
jsonForm.success:
function(responseText, statusText, xhr, elt)
/*
1.) responseText or responseXML value (depending on the value of the dataType option).
2.) statusText
3.) xhr (or the jQuery-wrapped form element if using jQuery < 1.4)
4.) jQuery-wrapped form element (or undefined if using jQuery < 1.4)
)
*/ {
if (typeof responseText === 'string')
{
if (/<html>/i.test(responseText))
{
jsonForm.reloadMain(responseText);
}
else if (responseText)
{
alert(responseText); <<<========== this is executed.
}
}
else if (responseText && typeof responseText === 'object')
{// decode and execute jquery instructions
jsonForm.responseEval(responseText, {});
jsonForm.init(); // in case we loaded something with a jsonForm in it
}
}
ОБНОВЛЕНИЕ 2:
Чтобы отключить использование iframe, который ограничивает возврат, необходимо включить опцию ajaxForm iframe: false.
Это часть дикой гусиной погони.
Он работает, чтобы запустить скрипт с setTimeout (updateinfo, 2); а затем перейдите и отправьте форму.