Descripción general de jQuery.ajax()
Carga de datos remotos mediante solicitud HTTP.
Implementación subyacente de AJAX en jQuery. Para implementaciones de alto nivel simples y fáciles de usar, consulte $.get, $.post, etc. $.ajax() devuelve el objeto XMLHttpRequest que creó. En la mayoría de los casos, no necesitará manipular esta función directamente a menos que necesite manipular opciones menos utilizadas para mayor flexibilidad.
En el caso más simple, $.ajax() se puede utilizar directamente sin ningún parámetro.
Tenga en cuenta que todas las opciones se pueden configurar globalmente a través de la función $.ajaxSetup(). Si desea procesar los datos obtenidos por $.ajax(), necesita utilizar una función de devolución de llamada. beforeSend, error, dataFilter, éxito, completo.
beforeSend se llama antes de enviar la solicitud y pasa un XMLHttpRequest como parámetro. Se llama al error cuando ocurre un error de solicitud. Al pasar un objeto XMLHttpRequest, una cadena que describe el tipo de error y un objeto de excepción (si lo hay), se llama a dataFilter después de que la solicitud se realiza correctamente. Pase los datos devueltos y el valor del parámetro tipo de datos. Y debe devolver datos nuevos (posiblemente procesados) pasados a la función de devolución de llamada exitosa. El éxito se llama después de la solicitud. Pase los datos devueltos y una cadena que contenga el código de éxito. complete Esta función se llama cuando se completa la solicitud, independientemente del éxito o el fracaso. Pase el objeto XMLHttpRequest y una cadena que contenga un código de éxito o error. La función $.ajax() se basa en la información proporcionada por el servidor para procesar los datos devueltos. Si el servidor informa que los datos devueltos son XML, los resultados devueltos se pueden iterar utilizando métodos XML normales o selectores jQuery. Si se ven otros tipos, como HTML, los datos se tratan como texto.
También puedes especificar otros métodos diferentes de procesamiento de datos a través de la opción tipo de datos. Además de XML simple, también puede especificar html, json, jsonp, script o texto.
Entre ellos, los datos devueltos por tipos text y xml no serán procesados. Los datos simplemente pasan el atributo ResponseText o ResponseHTML de XMLHttpRequest a la función de devolución de llamada exitosa.
Tenga en cuenta que debemos asegurarnos de que el tipo MIME informado por el servidor web coincida con el tipo de datos que seleccionamos. Por ejemplo, en el caso de XML, el servidor debe declarar text/xml o application/xml para obtener resultados consistentes.
Si se especifica como tipo html, cualquier JavaScript incrustado se ejecutará antes de que el HTML se devuelva como una cadena. De manera similar, si se especifica el tipo de secuencia de comandos, el servidor primero ejecutará JavaScript para generarlo y luego devolverá la secuencia de comandos como datos de texto.
Si se especifica el tipo json, los datos obtenidos se analizarán como un objeto JavaScript y el objeto construido se devolverá como resultado. Para lograr esto, primero intentó usar JSON.parse(). Si el navegador no lo admite, se utiliza una función para construirlo. Los datos JSON son un tipo de datos estructurados que se pueden analizar fácilmente mediante JavaScript. Si el archivo de datos obtenido se almacena en un servidor remoto (con diferentes nombres de dominio, es decir, adquisición de datos entre dominios), debe utilizar el tipo jsonp. El uso de este tipo crea un parámetro de cadena de consulta callback=? que se agrega a la URL solicitada.
El servidor debe agregar el nombre de la función de devolución de llamada antes de los datos JSON para completar una solicitud JSONP válida. Si desea especificar el nombre del parámetro de la función de devolución de llamada para reemplazar la devolución de llamada predeterminada, puede configurar el parámetro jsonp de $.ajax().
Tenga en cuenta que JSONP es una extensión del formato JSON. Requiere algo de código del lado del servidor para detectar y manejar los parámetros de la cadena de consulta. Se puede encontrar más información en el artículo original.
Si se especifica el tipo script o jsonp, cuando se reciben datos del servidor, en realidad se utiliza la etiqueta