9.1 $ objeto y método ajax en jQuery
jQuery también tiene un objeto global especial para trabajar con la red. Como puedes adivinar, se llama $
. Sí, ese es el nombre. Pero es simple y conveniente.
Supongamos que desea enviar una solicitud a una API en su JavaScript y procesar la respuesta recibida. Esto se puede hacer así:
$.ajax({
type: "POST",
url: "api.codegym.cc",
data: {name: 'Bill', location: 'Radmond'},
success: function(msg){
alert( "Person found: " + msg );
}
});
Eso es todo, ese es todo el código. $
Llamamos al método en el objeto ajax()
, donde pasamos el objeto que describe todo lo que necesitamos: tanto la solicitud como la respuesta.
- El campo
type
especifica el tipo de solicitud HTTP:GET
oPOST
- El campo
url
especificaurl
a quién se enviará la solicitud. - El campo
data
especifica los datos de la solicitud en formato JSON - El campo de éxito especifica una función que se llamará después de una respuesta exitosa del servidor.
9.2 Consultas útiles
Pero si no necesita transferir ningún dato, la solicitud se puede escribir aún más corta. Por ejemplo, puede escribir una solicitud POST simple como esta :
$.post("ajax/test.html", function( data ) {
$( ".result" ).html( data );
});
¿Sabes lo que hace el código $( ".result" ).html( data );
? Tratemos de adivinar...
Encuentra un elemento con la clase de resultado en el documento y agrega código HTML dentro de él: datos data
. Entonces, en un par de líneas, puede descargar datos del servidor y agregarlos a su página. Bueno, ¿no es una belleza? :)
Una solicitud GET también se puede escribir en un par de líneas:
$.get("ajax/test.html"., function( data ) {
$( ".result" ).html( data );
});
¿Le gustaría descargar y ejecutar un script?
$.ajax({
method: "GET",
url: "test.js",
dataType: "script"
});
¿Obtener la última página HTML?
$.ajax({
url: "test.html",
cache: false
})
.done(function( html ) {
$( "#results" ).append( html );
});
Hay muy buena documentación de jQuery en Internet:
Además, todas las preguntas comunes se pueden buscar fácilmente en Google y están en StackOverflow.
GO TO FULL VERSION