acepta
defecto: depende de DataType
El tipo de contenido enviado en la cabecera petición que le dice al servidor qué tipo de respuesta será aceptar a cambio. Si la configuración de aceptación necesita modificación, se recomienda hacerlo una vez en el método $ .ajaxSetup().
tipoDatos
defecto: suposición inteligente (XML, JSON, script o HTML)
El tipo de datos que usted está esperando respuestas del servidor. Si no se especifica ninguno , jQuery intentará inferirlo basándose en el tipo MIME de la respuesta (un tipo XML MIME arrojará XML, en 1.4 JSON arrojará un objeto JavaScript, en 1.4 script ejecutará el script, y cualquier otra cosa será devuelta como una cadena). Los tipos disponibles (y el resultado pasado como primer argumento para su devolución de llamada de éxito) son:
"xml": Devuelve un documento XML que puede ser procesada a través de jQuery.
"html": Devuelve HTML como texto sin formato; las etiquetas de script incluidas se evalúan cuando se insertan en el DOM.
"secuencia de comandos": Evalúa la respuesta como JavaScript y la devuelve como texto sin formato. Inhabilita el almacenamiento en caché al agregar un parámetro de cadena de consulta, _=[TIMESTAMP]
, a la URL a menos que la opción de caché esté establecida en verdadero. Nota: Esto convertirá las POST en GET para solicitudes de dominio remoto .
"json": Evalúa la respuesta como JSON y devuelve un objeto JavaScript. En jQuery 1.4, los datos JSON se analizan en de una manera estricta; cualquier JSON malformado es rechazado y se produce un error de análisis de . (Consulte json.org para obtener más información sobre el formato JSON adecuado).)
"jsonp": Se carga en un bloque JSON con JSONP. Agrega un extra ?callback=?
al final de su URL para especificar la devolución de llamada. Deshabilita el almacenamiento en caché de al agregar un parámetro de cadena de consulta,
_=[TIMESTAMP]
, al URL a menos que la opción de caché esté establecida en verdadero.
"texto": texto sin formato cadena. valores múltiples separados por espacios: a partir de jQuery 1.5, jQuery puede convertir un tipo de datos de lo que recibió en el encabezado Content-Type a lo que necesita. Por ejemplo, si desea que una respuesta de texto sea tratada como XML, use "texto xml" para el tipo de datos. También puede realizar una solicitud JSONP , recibirla como texto e interpretarla jQuery como XML: "jsonp text xml". Del mismo modo, una cadena de taquigrafía como "jsonp xml" primero intentará convertir de jsonp a xml y, a falta de , convertir de jsonp a texto y luego de texto a xml.
Volviendo a su problema. No estoy familiarizado con coffeescript pero al contrario de dataType
que es una cadena, el parámetro accepts
es un mapa y se debe utilizar la siguiente manera:
+1, se acuerda RE: documentación; sin embargo, no es totalmente intuitivo proporcionar un atributo con el nombre del encabezado que está tratando de cambiar, que de hecho es un ciudadano de segunda clase en relación con el controlador real del bus, dataType. Confundir que configurar tanto dataType como accept parece dar como resultado un encabezado de respuesta predeterminado. De todos modos, me alegro de haber encontrado que el tipo de datos solo hace el trabajo ... – virtualeyes
Debo estar de acuerdo con los virtualeyes, nombre bastante poco intuitivo. Y esta documentación es como un amigo que es difícil de entender rápidamente:) ... Además, el enlace de declaración de tipo 'Mapa' apunta a http://api.jquery.com/Types/#Map, que parece describir una información parámetro. No hay un código de ejemplo. Y el "Predeterminado: depende de DataType" es una subestimación, ¿no es así? Siempre _ depende de 'dataType', que da el orden de los tipos, ¿verdad? ... idealmente, la documentación debería ser más como un extraño que uno comprende de inmediato. Lo cual es, por supuesto, difícil de lograr, lo sé. –
Si no se especifican 'dataType' ni' accept', ¿qué encabezado de HTTP Accepts se envía? ¿Ninguna? –