2010-09-30 69 views
0

我在带有7个“选择”标签的Web应用程序中添加了ajax,其中选择一个选项将填充以下“选择”标签及相关信息。其中一些标签还可以显示另一组单选按钮或复选框。总之,您可以向服务器发出超过10个请求,直到您获得所需的产品。 所有在主要浏览器中都可以正常工作,除了在IE中,对服务器的请求被限制为7次,然后什么也没有发生,直到刷新浏览器重新开始。我甚至试图禁用缓存,但仍然发生同样的问题...在IE中,我只能使用ajax向服务器发送请求7次

为什么IE做这个废话?

这是Ajax代码做服务器 - 客户端说话:

function updateAvailableAttributes() 
{ 
var xmlhttp; 
var form = document.forms["orderDefinition"]; 
form.elements["formChangeRequest"].value = "true"; 
var processingMsgBox = $("#waitingMsgOverlay, #waitingMsgBox, #waitingMsg, #waitingMsgParag"); 
var map = document.getElementById("OrderMap"); 

if(window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp = new XMLHttpRequest(); 
} 
else 
{// code for IE6 and below 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

xmlhttp.onreadystatechange = function() 
{ 
    switch(xmlhttp.readyState) 
    { 
     case 1: 
      map.disableApplication(); 
      processingMsgBox.show(); 
      break; 
     case 4: 
      if(xmlhttp.status == 200) 
      { 
       $('#usercontent .sleeve .toprow').html(xmlhttp.responseText); 
       applyValidation(); 
       browserScrollManagement(); 
       $("#toolpanel").height($("#orderMap").height()); 
       inputBtnHighlightSelection(); 
      } 
      else 
      { 
       sessionTimedOut(); 
      } 

      $("#toolpanel").height($("#orderMap").height()); 
      map.enableApplication(); 
      processingMsgBox.hide(); 
      break;   
    } 
} 

var parameters = $("form#orderDefinition").serialize(); 
xmlhttp.open("POST", "ajax/possibleValues.html", true); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xmlhttp.setRequestHeader("Content-length", parameters.length); 
xmlhttp.setRequestHeader("Cache-Control", "no-cache"); 
xmlhttp.setRequestHeader("Connection", "close"); 
xmlhttp.send(parameters); 
} 
+0

我认为没有一些代码,任何人都无法回答这个问题。 – 2010-10-01 09:46:05

+0

对不起,我现在就添加它。看到问题的下面。 – Shaoz 2010-10-01 11:22:35

回答

相关问题