9.1 $ obiect și metoda ajax în jQuery

jQuery are, de asemenea, un obiect global special pentru lucrul cu rețeaua. După cum puteți ghici, se numește $. Da, acesta este numele. Dar este simplu și convenabil.

Să presupunem că doriți să trimiteți o solicitare unui API în JavaScript și să procesați răspunsul primit. Acest lucru se poate face astfel:


$.ajax({
  type: "POST",
  url: "api.codegym.cc",
  data: {name: 'Bill', location: 'Radmond'},
  success: function(msg){
    alert( "Person found: " + msg );
  }
});

Asta e, asta e tot codul. $Apelăm metoda pe obiect ajax(), unde trecem obiectul care descrie tot ce avem nevoie: atât cererea, cât și răspunsul.

  • Câmpul typespecifică tipul de solicitare HTTP: GETsauPOST
  • Câmpul urlspecifică urlcui va fi trimisă cererea.
  • Câmpul dataspecifică datele cererii în format JSON
  • Câmpul de succes specifică o funcție care trebuie apelată după un răspuns cu succes de la server.

9.2 Interogări utile

Dar dacă nu aveți nevoie să transferați date, atunci cererea poate fi scrisă și mai scurt. De exemplu, puteți scrie o cerere POST simplă ca aceasta :


$.post("ajax/test.html", function( data ) {
  $( ".result" ).html( data );
});

Știți ce face codul $( ".result" ).html( data );? Să încercăm să ghicim...

Găsește un element cu clasa rezultat în document și adaugă cod HTML în interiorul acestuia - data data. Deci, în câteva rânduri, puteți descărca date de pe server și le puteți adăuga la pagina dvs. Ei bine, nu este o frumusețe? :)

O solicitare GET poate fi scrisă și în câteva rânduri:


$.get("ajax/test.html"., function( data ) {
  $( ".result" ).html( data );
});

Doriți să descărcați și să executați un script?


$.ajax({
  method: "GET",
  url: "test.js",
  dataType: "script"
});

Obțineți cea mai recentă pagină HTML?


$.ajax({
  url: "test.html",
  cache: false
})
  .done(function( html ) {
    $( "#results" ).append( html );
  });

Există o documentație jQuery foarte bună pe internet:

API-ul jQuery

jQuery.ajax()

În plus, toate întrebările obișnuite sunt ușor de căutat pe Google și sunt pe StackOverflow.