jQuery ajaxForm插件未在IE6中运行成功函数
我正在使用jQuery插件通过AJAX提交文件上传表单。脚本提交表单,表单成功后运行jQuery ajaxForm插件未在IE6中运行成功函数,jquery,internet-explorer-6,Jquery,Internet Explorer 6,我正在使用jQuery插件通过AJAX提交文件上传表单。脚本提交表单,表单成功后运行uploadResponse(),将新行添加到页面上的中。它在Opera、Firefox、Safari、IE7和IE8中运行良好 但是,IE6在表单提交后不会运行uploadResponse()。脚本中的POST请求将运行,您可以在刷新页面时看到该文件。但是,uploadResponse()不会运行,DOM也不会更新 以下是脚本的一部分: /** * Ajaxified upload form */ $('f
uploadResponse()
,将新行添加到页面上的
中。它在Opera、Firefox、Safari、IE7和IE8中运行良好
但是,IE6在表单提交后不会运行uploadResponse()
。脚本中的POST请求将运行,您可以在刷新页面时看到该文件。但是,uploadResponse()
不会运行,DOM也不会更新
以下是脚本的一部分:
/**
* Ajaxified upload form
*/
$('form#upload').ajaxForm(
{
url: 'ajax/upload.php',
success: uploadResponse,
dataType: 'xml'
});
/**
* Upload form response
*
* @param responseXML Returned from the AJAX POST
*/
function uploadResponse(responseXML)
{
var displayName = $('display_name', responseXML).text();
var fileName = $('name', responseXML).text();
var directoryID = $('directory_id', responseXML).text();
var abbrTitle = $('abbr_title', responseXML).text();
var tableRow = 'file_' + tableRowCount;
$('table#listing tbody').prepend(row(displayName, null, '', 'delete.php?directory_id=' + directoryID + '&file=' + fileName, 'Delete', null, tableRow, 'fileName jsHide', 'rename jsHide', 'delete jsHide', abbrTitle));
$('td.jsHide').fadeIn();
// AJAX renaming
$('tr#file_' + tableRowCount).find('td.fileName').click(generateRenameForm);
// Remove "no files" notficiation
$('p#noFiles').remove();
alternatingRows();
tableRowCount++;
}
uploadResponse()
函数中的特定代码没有问题。它根本不运行(我使用alert()
对它进行了测试)
此外,IE6还显示“此页面包含安全和非安全内容”对话框。所有的脚本、样式表等都是安全服务器上的本地脚本,所以据我所知,没有什么是不安全的。我已经仔细检查过了
谢谢你的帮助。你在另一台电脑上测试过吗?可能是IE6中的一种安全设置。您是否在另一台pc上测试过它?可能是IE6中的安全设置。数据类型:xml是问题所在。我不知道我是从哪里学会这个把戏的(所有的功劳都归功于那个原始来源)。这就是最有可能解决此问题的方法: 将“datatype:xml”替换为 在开始使用xml响应之前,您需要执行以下操作:
function parseXMLResult(result) {
var xmlDoc;
if (typeof result == 'string') {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML(result);
} else {
xmlDoc = result;
}
return xmlDoc;
}
希望这能解决你的问题
注册secure/in secure警告,您肯定至少有一个元素可能是通过http加载的image/css/js文件。这个问题不是IE6特有的,您应该在FireFox的地址栏中看到证书符号,上面有一个红色的“i”,表示页面中存在问题。
使用像这样的工具找出有问题的元素。数据类型:xml是问题所在。我不知道我是从哪里学会这个把戏的(所有的功劳都归功于那个原始来源)。这就是最有可能解决此问题的方法: 将“datatype:xml”替换为 在开始使用xml响应之前,您需要执行以下操作:
function parseXMLResult(result) {
var xmlDoc;
if (typeof result == 'string') {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML(result);
} else {
xmlDoc = result;
}
return xmlDoc;
}
希望这能解决你的问题
注册secure/in secure警告,您肯定至少有一个元素可能是通过http加载的image/css/js文件。这个问题不是IE6特有的,您应该在FireFox的地址栏中看到证书符号,上面有一个红色的“i”,表示页面中存在问题。
使用类似的工具找出有问题的元素。否,但这是默认的XP安装,因此即使默认安全设置不起作用,问题仍然存在。否,但这是默认的XP安装,因此即使默认安全设置不起作用,问题仍然存在。