jQuery ajax - lataa() -menetelmä

Esimerkki

Muuta div-elementin tekstiä AJAX-pyynnön avulla:

$("nappi").click(function(){
  $("div").lataa('demo_ajax_load.txt');
});

Kokeile itse

Lisää TIY-esimerkkejä löydät sivun alareunasta

määrittely ja käyttö

lataa() -menetelmä lataa tietoja palvelimelta AJAX-pyynnön kautta ja sijoittaa palautetut tiedot määritettyyn elementtiin.

Huomautus:on myös olemassa nimi lataa jQuery:n tapahtumamenetelmä. Kumpi kutsutaan, riippuu parametreista.

syntaksi

lataa(url,data,funktion(response,status,xhr))
parametrit kuvaus
url Määrittää, mihin URL-osoitteeseen pyyntö lähetetään.
data Valinnainen. Määrittää tiedot, jotka lähetetään palvelimelle pyynnön mukana.
function(response,status,xhr)

Valinnainen. Määrittää funktio, joka suoritetaan pyynnön valmistuttua.

Lisäparametrit:

  • response - sisältää pyynnön tulostiedot
  • status - sisältää pyynnön tilan ("success", "notmodified", "error", "timeout" tai "parsererror")
  • xhr - sisältää XMLHttpRequest-objektin

Yksityiskohtainen selitys

Tämä menetelmä on yksinkertaisin tapa hakea tietoja palvelimelta. Se on lähes sama kuin $.get(url, data, success), mutta se ei ole globaali funktio ja sillä on implisiittinen paluutoiminto. Kun havaitaan onnistunut vastaus (esim., kun textStatus on "success" tai "notmodified"), .load() asettaa matchattavan elementin HTML-sisällön palautetuksi dataksi. Tämä tarkoittaa, että tämän menetelmän suurin osa käyttöä on erittäin yksinkertaista:

$("#result").load("ajax/test.html");

Jos tarjotaan paluutoiminto, tämä toiminto suoritetaan post-processingin jälkeen:

$("#result").load("ajax/test.html", function() {
  alert("Lataus suoritettiin.");
});

Yllä olevissa esimerkeissä .load() -menetelmää ei suoriteta, jos nykyinen dokumentti ei sisällä "result"-ID:tä.

Jos tarjottu tieto on objekti, käytetään POST-metodia; muussa tapauksessa GET-metodia.

Lataa sivun osa

.load() -menetelmä, eriäen $.get() -menetelmästä, mahdollistaa määrittämisen, että tietty osa etädokumentista lisätään. Tämä toteutetaan erityisellä syntaxilla url-parametrin avulla. Jos merkkijonossa on yksi tai useita välilyöntejä, merkkijono, joka on ensimmäisen välilyönnin jälkeen, määrittää ladattavan sisällön jQuery-valitsimen.

Voimme muokata yllä olevaa esimerkkiä, jotta voimme käyttää saadun dokumentin tiettyä osaa:

$("#result").load("ajax/test.html #container");

Jos suoritetaan tämä menetelmä, palautetaan ajax/test.html:n sisältö, mutta sitten jQuery analysoi palautetun dokumentin löytääkseen elementin, jolla on säiliö ID. Tämä elementti, mukaan lukien sen sisältö, lisätään elementtiin, jolla on tulosten ID, ja palautetun dokumentin muu osa heitetään pois.

jQuery käyttää selaimen .innerHTML-ominaisuutta tulkitaan haettu dokumentti ja lisätään se nykyiseen dokumenttiin. Tässä prosessissa selain suodattaa usein elementtejä, kuten <html>, <title> tai <head>-elementit. Tämän seurauksena .load() -menetelmällä haetut elementit eivät välttämättä ole täysin samanlaisia kuin selaimen suoraan haetut dokumentit.

Huomautus:Selaimen turvallisuusrajoitusten vuoksi useimmat "Ajax"-pyynnöt noudattavat samaa alkuperää -strategiaa; pyynnöt eivät onnistu hankkimaan tietoja eri verkkotunnuksista, aliverkkotunnuksista tai protokollista.

Lisää esimerkkejä

Esimerkki 1

Lataa feeds.html-tiedoston sisältö:

$("#feeds").load("feeds.html");

Esimerkki 2

Samankaltainen esimerkki, mutta lähettää lisäparametreja POST-muodossa ja näyttää viestin onnistumisen yhteydessä:

$("#feeds").load("feeds.php", {limit: 25}, function(){
  alert("Viimeiset 25 syötteessä olevaa merkintää on ladattu");
});

Esimerkki 3

Lataa artikkelin sivupalkin navigointiosa luetteloon:

HTML-koodi:

<b>jQuery Links:</b>
<ul id="links"></ul>

jQuery-koodi:

$("#links").load("/Main_Page #p-Getting-Started li");

Lisää TIY-esimerkkejä

Luo AJAX-pyynnön ja lähetä tietoja kyseisen pyynnön kautta
Miten lähettää tietoja AJAX-pyynnön avulla data-parametrien avulla. (Tämä esimerkki selitetään AJAX-opetuksessa.)
Luo AJAX-pyynnön ja lähetä tietoja kyseisen pyynnön kautta
Miten käsitellä AJAX-pyynnön palauttamat tietojen tulokset function-parametrien avulla.
Luo AJAX-pyynnön, joka sisältää virheen
Miten käsitellä AJAX-pyynnön virheitä function-parametrien avulla (käyttäen XMLHttpRequest-parametreja).