[jQuery-es] Cabecera http accept y peticiones ajax
Choan C. Gálvez
choan.galvez en gmail.com
Mie Feb 21 03:00:43 PST 2007
Holas.
On 2/21/07, David Arango <arango en gmail.com> wrote:
> Hola chicos,
>
> Estoy usando Rails y sus nuevas capacidades http-friendly y me
> encuentro con un problemilla.
>
> El asunto es que Rails ofrece una nueva característica que permite
> discriminar la respuesta a una petición en función del tipo de
> petición. Esto se hace analizando la cabecera http Accept de la
> request, comprobando el tipo mime que contiene dicha cabecera.
>
> Creo que jQuery no está enviando dicha cabecera, por lo que me iba a
> poner a toquetear el código de $.ajax, pero no me parece ni medio
> limpio. El hack consistiría en añadir a $.ajax algo asín:
>
> Línea 1998 de jquery-latest:
> // Set header so the called script knows that it's an XMLHttpRequest
> xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");
> xml.setRequestHeader('Accept','application/json');
Desde la versión 1.0.4 (creo), al usar $.ajax puedes pasar una función
como parámetro beforeSend.
Copipego de la API:
"(Function) beforeSend - A pre-callback to set custom headers etc.,
the XMLHttpRequest is passed as the only argument."
Vaya, que no hace falta tocar el método.
> Aquí hay otro asunto de importancia: el tipo mime [1] que vamos a
> enviar, en el caso de json lo tengo claro pero... en el caso de una
> petición Ajax "sucia" (si la respuesta que esperamos no es un XML,
> sino un fragmento de HTML o algo por el estilo) ¿sería correcto enviar
> text/plain [2]?
Pues no sé, pero... ¿por qué no text/html?
> [1] http://www.iana.org/assignments/media-types/
> [2] http://www.iana.org/assignments/media-types/text/
Salud.
--
Choan
<http://choangalvez.nom.es/>
Más información sobre la lista de distribución jquery-es