2012-08-22 17 views
11

Viene visualizzato l'errore seguente.Errore non rilevato: INVALID_STATE_ERR: DOM Exception 11

Uncaught Error: INVALID_STATE_ERR: DOM Exception 11

Ecco il codice in cui viene visualizzato l'errore RUN TIME.

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

Ho provato con false nel terzo parametro di xhttp.open.
Qualcuno può dirmi che cosa sta causando questo?

+0

Le inoltriamo la richiesta allo stesso server che serviva nella pagina? Ricorda CORS! – tkone

+0

La mia richiesta sta andando su due server. Uno è il nostro server (livello intermedio) e il secondo è expedia Server (una API di prenotazione hotel). Il nostro livello intermedio invia ulteriori informazioni a expedia e ci restituisce la risposta. – Anildhara

risposta

22

L'errore viene da l'ordine di esecuzione:

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

È necessario prima aprire la connessione e quindi impostare l'intestazione della richiesta altrimenti si otterrà l'errore.

+2

Ciao, Anonimo Il tuo ordine del codice sopra è perfetto. Ora il mio codice funziona bene. Molte grazie. – Anildhara

+0

Questa è la risposta, @Anildhara segna! – candlejack

+0

Uomo, non sono sicuro del perché, ma in chrome, non mi importava quale ordine avessi impostato le intestazioni. Quando si è trattato di testare il browser senza testa con phantomjs, è esploso! Grazie mille! Ho letteralmente sbattuto la testa contro la mia scrivania tutto il giorno. – jemiloii

1

Il XMLHttpRequest::Status non è disponibile fino a XMLHttpRequest::readyState è stato modificato in 4 ie. è stata acquisita una risposta adeguata dal server e ora è stata compilata nella variabile Status.

Pertanto, l'accesso a XMLHttpRequest :: Status potrebbe causare questo errore.

Soluzione: verificare innanzitutto readyState e solo dopo il successo — accesso 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! 
    } 
} 
Problemi correlati