Isang handa na halimbawa ng isang kahilingan sa ajax sa purong javascript. JavaScript - Asynchronous na mga kahilingan sa AJAX na may mga halimbawa. Paghiling ng html data gamit ang Load function

Sinakop namin ang mga pangunahing mekanika ng jQuery $.ajax() na pamamaraan. Ngayon ay isang magandang ideya na isaalang-alang ang mga kaso mula sa tunay na kasanayan: kung paano at mula sa kung saan ka makakakuha ng data para sa paghahatid sa isang kahilingan ng Ajax.

Pagtanggap ng data mula sa form.

Mayroong ilang mga paraan upang makakuha ng data mula sa mga field ng form:

  • Piliin ang bawat field nang hiwalay, na nakukuha ang halaga nito. Gayunpaman, ito ay hindi masyadong maginhawa kapag mayroong maraming mga patlang.
  • Gumamit ng serialize() na pamamaraan
  • Gumamit ng serializeArray() na pamamaraan
  • Pag-isipan natin ang huling dalawa at hindi gaanong kung paano makakuha ng data ( simple lang ang lahat dito), ngunit sa kung paano iproseso ang mga ito sa gilid ng server. Kunin, halimbawa, ang form na ito:

    HTML ( index.html file)

    BUONG PANGALAN:
    Email:
    Kasarian Lalake Babae
    Upang makatanggap ng mga liham:
    Oo
    Hindi

    At isulat natin itong JS code

    jQuery( script.js file)

    $(function())( $("#my_form").on("submit", function(e)( e.preventDefault(); var $that = $(this), fData = $that.serialize(); / / i-serialize ang data // OR // fData = $that.serializeArray(); $.ajax(( url: $that.attr("action"), // kunin ang path sa handler mula sa attribute na uri ng aksyon: $that.attr( "paraan"), // paraan ng paglilipat - kinuha mula sa data ng katangian ng pamamaraan: (form_data: fData), dataType: "json", tagumpay: function(json)( // Kung matagumpay na nakumpleto ang kahilingan. .. if(json)( $that.replaceWith(json); // palitan ang form ng data na natanggap sa tugon ) ));

    Ngayon magsulat tayo ng isang handler sa paraang malinaw na makita ang pagkakaiba sa pagitan ng serialize() at serializeArray() na mga pamamaraan

    PHP handler ( tagapangasiwa ng file.php)


    Robert Sheckly

    ito ay kinakailangan, bilang karagdagan sa pagtukoy ng bagong file address - serverAddr ="http://zykov/data.xml", upang mapalitan sa function

    handleStateChange()

    resp=xmlHttp.responseText;

    resp=xmlHttp.responseXML.getElementsByTagName("pangalan").firstChild.data;

    Pagkatapos sa halip na isang mensahe

    Nagpadala ang server: Hello, client!

    may lalabas na mensahe

    Ang server ay isinumite ni: Robert Sheckly

    Ang AJAX ay isang pangkat ng mga teknolohiya na ginagamit sa web development upang lumikha ng mga interactive na application. Pinapayagan ka ng AJAX na maglipat ng data mula sa server nang hindi nire-reload ang pahina. Sa ganitong paraan makakakuha ka ng napakakahanga-hangang mga resulta. At ang library ng jQuery ay lubos na pinasimple ang pagpapatupad ng AJAX gamit ang mga built-in na pamamaraan.

    Upang ipatupad ang teknolohiya, gamitin ang $.ajax o jQuery.ajax na paraan:

    $.ajax(properties) o $.ajax(url [, properties])

    Ang pangalawang parameter ay idinagdag sa bersyon 1.5 ng jQuery.

    url - address ng hiniling na pahina;

    mga katangian - humiling ng mga katangian.

    Para sa kumpletong listahan ng mga opsyon, tingnan ang dokumentasyon ng jQuery.

    Sa tutorial na ito ginagamit namin ang ilan sa mga pinakakaraniwang ginagamit na parameter.

    tagumpay (function) - ang function na ito ay tinatawag pagkatapos na matagumpay na nakumpleto ang kahilingan. Ang function ay tumatanggap mula 1 hanggang 3 mga parameter (depende sa bersyon ng library na ginamit). Ngunit ang unang parameter ay palaging naglalaman ng data na ibinalik mula sa server.

    data (object/string) - data ng user na ipinasa sa hiniling na pahina.

    dataType (string) - posibleng mga value: xml, json, script o html. Paglalarawan ng uri ng data na inaasahan sa tugon ng server.

    uri (string) - uri ng kahilingan. Mga posibleng halaga: GET o POST. Default: GET.

    url (string) - URL para sa kahilingan.

    Halimbawa 1

    Madaling paglipat ng teksto.

    $.ajax(( url: "response.php?action=sample1", tagumpay: function(data) ( $(".results").html(data); ) ));

    Mayroong .result div element para sa tugon.

    Naghihintay ng sagot

    Ibinabalik lang ng server ang string:

    Echo "Halimbawa 1 - matagumpay na nakumpleto ang paglipat";

    Halimbawa 2

    Ipinapasa namin ang data ng user sa script ng PHP.

    $.ajax(( type: "POST", url: "response.php?action=sample2", data: "name=Andrew&nickname=Aramis", tagumpay: function(data)( $(".results").html( data);

    Ibinabalik ng server ang isang string na may ipinasok na data dito:

    Echo "Halimbawa 2 - matagumpay na nakumpleto ang paglipat. Mga Parameter: name = " . $_POST["pangalan"] . ", palayaw=" . $_POST["palayaw"];

    Halimbawa 3

    Pagpasa at Pagpapatupad ng JavaScript Code

    $.ajax(( dataType: "script", url: "response.php?action=sample3", ))

    Isinasagawa ng server ang code:

    Echo "$(".results").html("Halimbawa 3 - Pagpapatupad ng JavaScript");";

    Halimbawa 4

    Gumagamit kami ng XML. Maaaring gamitin ang halimbawa upang gumana sa panlabas na XML, halimbawa, isang RSS feed.

    $.ajax(( dataType: "xml", url: "response.php?action=sample4", tagumpay: function(xmldata)( $(".results").html(""); $(xmldata).find ("item").bawat(function())( $(" ").html($(this).text()).appendTo(".results"); ) ));

    Dapat ibalik ng server ang XML code:

    Header("Uri ng Nilalaman: application/xml; charset=UTF-8"); echo