我想添加一个空的html表的链接。它可以在0.2秒内在Firefox和Chrome上运行,但在IE9中则不行。至少需要3分钟。原因是所传递的数据完全不同。我在所有三个浏览器中都进行了相同的查询。这是我的代码:
function submitForm(dataString)
{
jQuery.ajax({
type: 'POST',
cache: false,
dataType: 'text',
url: 'retrieveFileList.php',
data: {'data':dataString},
success: function(data){
jQuery('#tresults').append(data);
}
});
return false;
}
来自php文件的返回数据如下所示:
while($row = mysql_fetch_array($result))
{
$linktextpos = strrpos($row[0],"/",0);
$linktext = substr($row[0],$linktextpos);
echo "<tr>";
echo "<td>";
echo "</td>";
echo "<td>";
echo "<a color='#ffffff' href=\"" . $row[0] . "\"><font color=\"#ffffff\">" . "..." . $linktext . "</font></a>";
echo "</td>";
echo "</tr>";
}
答案 0 :(得分:0)
你的php返回了多少行?我没有对此进行过测试,但我猜IE9在将大量行插入表格时可能不那么聪明。尝试插入它:
jQuery('#tresults').append($(data));
如果这没有帮助,请尝试将您的php输出包装在<tbody></tbody>
。
答案 1 :(得分:0)
确定。发现了问题。我的HTML文件有错误的标题。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
MSIE浏览器无法识别这个(没有PublicID)并以Quirks模式呈现它,因此document.getElementById()...无法正常工作,并且sql得到了错误的参数。 Puuh。
应该说:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/HTML4/loose.dtd">