2013-08-01 22 views
0

我有下面的代碼來處理HTTP請求。但我越來越Javascript:InvalidStateError:DOM異常11

Error: InvalidStateError:DOM Exception 11

錯誤。

if (window.XMLHttpRequest) { 
     req_settings = new XMLHttpRequest(); 
     req_settings.onreadystatechange = processChange; 
     req_settings.open("GET", url, true); 
     req_settings.send(); 
    } else if (window.ActiveXObject) { 
     req_settings = new ActiveXObject("Microsoft.XMLHTTP"); 
     if (req_settings) { 
      req_settings.onreadystatechange = processChange; 
      req_settings.open("GET", url, true); 
      req_settings.send(); 
     } 
    } 
    req_settings.onreadystatechange = processChange; 
    req_settings.send(); 

請幫忙。

回答

0

您打給send()兩次,這是無效的。你的代碼應該是

if (window.XMLHttpRequest) { 
    var req_settings = new XMLHttpRequest(); 
} else if (window.ActiveXObject) { 
    req_settings = new ActiveXObject("Microsoft.XMLHTTP"); 
} else 
    throw "environment does not support ajax"; 
req_settings.onreadystatechange = processChange; 
req_settings.open("GET", url, true); 
req_settings.send(); 
+0

感謝您的回答,我嘗試,但現在的代碼永遠不會返回任何數據,它是掛... – Ianthe

+0

但是,這是一個不同的問題。您需要發佈您正在使用的服務(url),'processChange'正在做什麼,以及您如何經歷「掛起」。也許是一個新問題。 – Bergi

+0

感謝您的回答。我最終重組了整個代碼。 – Ianthe

0

的代碼是沒有意義的,你會被調用

req_settings.onreadystatechange = processChange; 
req_settings.send(); 

兩次,它的如果和它裏面外面!刪除裏面的。它也應該使用本地對象。使用圖書館!

相關問題