2012-06-18 9 views
5

Recibo este error como parte de este gran rompecabezas here.Explicar error DOM 11 en la inicialización de XMLHttpRequest con JSON -cabezas

var xhr = new XMLHttpRequest(); 
xhr.setRequestHeader('Content-Type', 'application/json'); 

//Error: INVALID_STATE_ERR: DOM Exception 11 

para futuras investigaciones

  1. libro de O'Reilly "Guía definitiva para Javascript 6ª Edición" en la página 491 en el capítulo 18 "con secuencias de comandos HTTP" discutido XMLHttpRequest, por favor, nota que no se trata solo de HTTP o XML (reliquias históricas).

  2. entrada dev de Mozilla sobre XMLHTTPRequest here

+0

posible duplicado de [INVALID_STATE_ERR: DOM Excepción 11 (WebKit)] (http://stackoverflow.com/questions/3488698/invalid-state-err-dom- exception-11-webkit) –

+0

¿Ha intentado buscar Stack Overflow para "DOM 11"? Ya existen varios hilos que abordan este problema. –

+3

@ ŠimeVidas: No es un buen duplicado. INVALID_STATE_ERR/11 se usa para * tantas cosas * ... – Ryan

Respuesta

6

Es necesario open() la XMLHttpRequest antes de poder configurar los encabezados de solicitud. Basta con mover esa línea para después de llamar open():

var xhr = new XMLHttpRequest(); 
xhr.open('POST', 'example.php', true); 
xhr.setRequestHeader('Content-Type', 'application/json'); 
+0

Supongamos que solo ejecuto mi código en la consola del navegador, ¿qué debería ser el '" example.php "' en ese caso? El sitio de Mozilla Dev tiene algunos monstruos '" url + = ((/\?/).test(url)? "&": "?") + (New Date()). GetTime() "' pero probablemente no ¿algo aqui? (Lo siento, esta puede ser una pregunta de volcado, todavía estoy aprendiendo/leyendo cosas ...) – hhh

+1

@hhh: sea cual sea la página que desee solicitar, pero tiene que estar en el mismo nombre de dominio o obtendrá una excepción. – Ryan

+0

Hay un problema, no hay página. Mi propósito en la otra pregunta es agregar contenido a la base de datos en la dirección 'http: //127.0.0.1: 5984/test', se puede acceder así a couchDB. – hhh

Cuestiones relacionadas