2010-09-30 33 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

回答

相關問題