Parece que las personas han tenido problemas con los encabezados Aceptar en el pasado, pero no estoy seguro de si mi problema está relacionado. Con jQuery 1.4.2, tengo problemas para obtener JSON con getJSON()
. Puedo ver la solicitud/respuesta en Firebug y parece que el origen del problema es que el recurso en cuestión arroja resultados diferentes según el encabezado Aceptar. A pesar de que los documentos dicen que se debe establecer, en Firebug se muestra como "/" -, obviamente, quiero "application/json". ¿Es esto un error conocido? ¿Se supone que debo poner una bandera que no conozco?getJSON() de JQuery no configura correctamente el encabezado Aceptar?
ETA: La solicitud es a través del sitio, si eso es importante, pero estoy pasando un parámetro de consulta callback=?
para que JQuery lo trate (con éxito) como JSONP. El servicio al que estoy llamando en este caso particular admite un parámetro de omisión de aceptar (&accept=application/json
), así que lo tengo que trabajar de forma manual, pero todavía considero que el error del encabezado es extraño y esperaba poder solucionarlo. así que no me encuentro con esto de nuevo cuando trato con un servicio diferente que podría no ser tan indulgente. No tengo una manera fácil de copiar/pegar el código de mi entorno de desarrollo pero aquí está el quid:
$.getJSON(baseURL + "?item=" + itemNum + "&callback=?", function(data){
console.log(data);
}
Como se puede ver, esto no es exactamente compleja, y debería (estoy 99 % seguro ...) dará como resultado que se envíe un XHR con un encabezado Aceptar de application/json
. Como dije, eso no está sucediendo, por consola Firebug's Net. Si es importante, esto está en Firefox 3.6.8.
ETA De nuevo: para cualquiera que siga leyendo esto, sí, todavía está sucediendo, y no, no tengo ni idea de por qué. Como dije, simple llamada getJSON(), sintaxis realmente básica, sitio cruzado, tratada como JSONP porque incluye un parámetro de consulta de devolución de llamada. ¡Aún abierto a sugerencias!
Muéstranos tu código y es posible que te ayudemos más. – Steven
Tengo exactamente el mismo problema en Chrome 8. $ .getJSON ("url", función (datos) {}) está configurando el encabezado Aceptar en */* –