2012-08-22 77 views
11

我收到以下錯誤。未捕獲錯誤:INVALID_STATE_ERR:DOM異常11

Uncaught Error: INVALID_STATE_ERR: DOM Exception 11

這裏是我得到錯誤運行時間的代碼。

xhttp.setRequestHeader("Content-type","application/xhtml+xml");<br> 
xhttp.open("POST",xmlFile,true);<br> 
xhttp.send(postData); 

我試着用false在xhttp.open的第三個參數。
誰能告訴我是什麼原因造成的?

+0

你發送請求到該服務的頁面在同一臺服務器?記住CORS! – tkone

+0

我的請求正在兩臺服務器上進行。一個是我們的服務器(中間層),另一個是expedia Server(酒店預訂API)。我們的中間層進一步發送到expedia並返回給我們。 – Anildhara

回答

22

這個錯誤來自執行的順序:

xhttp.open("POST",xmlFile,true); 
xhttp.setRequestHeader("Content-type","application/xhtml+xml"); 
xhttp.send(postData); 

您必須首先打開連接,然後設置請求頭,否則,你會得到錯誤。

+2

嗨,匿名您的上述代碼是完美的。現在我的代碼工作正常。非常感謝。 – Anildhara

+0

這就是答案,@Anildhara標記它! – candlejack

+0

男人,我不知道爲什麼,但在鉻,它並不在乎我已設置標題的順序。當涉及到使用幻影的無頭瀏覽器測試時,它爆炸了!謝謝一堆!我整天都把我的頭撞在桌子上。 – jemiloii

1

XMLHttpRequest::Status不可用,直到XMLHttpRequest::readyState已更改爲4即。從服務器獲得了適當的響應,現在已經填充在Status變量中。

因此,儘早訪問XMLHttpRequest :: Status可能導致此錯誤。

解決方案:首先驗證readyState只有在成功—訪問Status

if (xmlhttp.readyState==4) 
{ 
    switch (xmlhttp.status) 
    { 
    case 200: // Do the Do 
     break; 
    case 404: // Error: 404 - Resource not found! 
     break; 
    default: // Error: Unknown! 
    } 
} 
相關問題