我有一些软件在很多情况下运行良好,但在MSIE 10中失败了。我把它分解为最简单的测试用例,如下所示。 XMLHttpRequest有时会起作用,但更常见的是它会等待5到10秒(这些时间会不断变化),然后返回状态码为0。
只有HTTPS&的组合 MSIE 10&很多POST请求。改变其中任何一个都会使事情再次发挥作用。
有没有人见过这样的问题?你知道怎么解决吗?
<HTML>
<HEAD>
<TITLE>test</TITLE>
<SCRIPT>
<!--
var count = 0;
function addLine(line)
{
var newDiv = document.createElement("div");
newDiv.innerText = line;
document.body.appendChild(newDiv);
}
function my_main()
{
addLine("script started");
scheduleRequest();
}
function scheduleRequest()
{
try
{
if (count < 50)
{
count++;
//setTimeout(sendRequest, 1);
sendRequest();
}
else
addLine("Done!");
} catch (err) {
addLine("Exception in scheduleRequest(): " + err.message);
}
}
function sendRequest()
{
try
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST","t.php?nocache="+Math.random(),true);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState == 4)
{
var success = (xmlhttp.responseText == "yes\n") && (xmlhttp.status == 200);
var status = "#" + count + ": ";
if (success)
status += "success.";
else
status += "FAIL. status=" + xmlhttp.status;
addLine(status);
scheduleRequest();
}
}
xmlhttp.send("sequence=5");
} catch (err) {
addLine("Exception in sendRequest(): " + err.message);
}
}
-->
</SCRIPT>
</HEAD>
<BODY ONLOAD="my_main()">
<div>Let's go!</div>
</BODY>
</HTML>