[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