2010-05-13 8 views
9

Tengo que obtener el texto de respuesta de una página resourceindex como objeto JSON. Cuando no pongo un encabezado Accept en la solicitud, me muestra la respuesta xml (lo veo en una alerta) ..xmlhttprequest responsetext coming for Accept header: text/xml, pero server error for application/JSON

Pero quiero la respuesta como un objeto JSON ... ¿Qué debo hacer? Una solución podría haber sido

httpRequest.setRequestHeader('Accept', 'application/JSON'); 

pero esto me da un error del servidor: 500

También se dice

Un escritor cuerpo del mensaje para el tipo de Java, la clase ...., y MIME tipo de medio, application/octet-stream, no se encontró

¿Alguien puede sugerir qué hacer para superar esto y obtener la respuesta como JSON?

+1

El tipo MIME correcto para JSON es 'application/json', no aplicación'/JSON'. ¿Qué pasa si pruebas eso? –

+0

Hola T.J. Crowder, gracias! ese fue el problema !! ¡el encabezado de aceptación debe hacerse en minúsculas en lugar de mayúsculas! Entonces la respuesta: httpRequest.setRequestHeader ('Aceptar', 'application/json'); es json y no JSON – encryptor

+0

¡LOL! Y aquí lo escribí como una respuesta, luego pensé "Nah, eso no va a ser, solo hago un comentario" y borré mi respuesta. Eso me enseñará. He recuperado mi respuesta. –

Respuesta

20

El tipo de mime correcto para JSON es application/json, no application/JSON. Eso podría ser el problema.

3

httpRequest.setRequestHeader ('Aceptar', 'application/json'); su JSON y JSON no

0

También pueden querer agregar un adicional de MIME text/javascript como:

httpRequest.setRequestHeader('Accept', 'application/json, text/javascript');