我在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。
答案 0 :(得分:0)
这是野鹅追逐的一部分。
使用setTimeout(updateinfo,2)启动脚本确实有效;然后继续提交表格。