PočítačeProgramovanie

Ajax - príklady. ajax skripty

Internet poskytuje návštevníka viditeľnosť každého zdroja, ktorý je umiestnený v sieti a prehliadač - prístup cez sieťové protokoly, call mechanizmov jednotlivých skriptov, odosielanie / prijímanie informácií. Sada stránok, ktoré tvoria miesto, má spoločný koreň - jedinečný odkaz (názov domény, jedinečná adresa uzla).

Bez ohľadu na zdroj reaguje na návštevu staticky alebo dynamicky generuje odpoveď. Iv prípade, že forma a obsah stránok sú závislé na akýchkoľvek podmienok, nedeliteľnú jednotku komunikačného servera a klienta (prehliadača), je hotový dokument HTML kódované obrazy, štýly, a ďalšie súbory potrebné obsah a životné prostredie. Ak je niečo zle, prehliadač zobrazí všetko, čo je "podarilo" dostať analyzovať a vykonávať.

Mnoho sľubných technológií sa objavili po dlhú dobu, ale boli neoprávnene zabudnuté alebo neboli správne použité. Prvý AJAX (príklady použitia objektu XMLHttpRequest) sa objavil pred mnohými rokmi, ale úspech a sláva prišla až oveľa neskôr.

Vôbec, alebo len to, čo potrebujete

V klasickej verzii webu - názov, IP-adresu a spojenie (všetky synonymá označujúce rovnaký bod v Internete priestore). Čo sa skrýva za touto hlavnej stránke - myslel: zo svojej vlastnej iniciatívy moderné "dizajnéra", čo sa ani nespýtal, prečo tomu tak je? Prečo miesto je hlavná stránka, z ktorej sa môžete dostať do akéhokoľvek iného? Táto voľba - zjavne nie je ideálna, to je konkrétny obsah a skutočný funkčnosť.

Jednoducho povedané, ak človek potrebuje zubára, to je tá správna adresa na osobitné účely, a nie do kuchyne pre chirurgiu a nie do knižnice pre konzultácie terapeuta. V mieste, kde táto sa ukázalo, že vidí, ale nedostane zubnú kliniku v plnej výške. To najlepšie, čo môžete očakávať, že návštevník - register a smer (presná cesta) k lekárovi. A na mieste (na mieste) sa môže meniť ako lekár, a určenia.

Ale tu je to miesto zvyčajne vždy načítaný v plnej munície, pri nakladaní sa nič nezmení, s prihliadnutím na čas, ktorý má niekto prišiel ... Ale aj v prípade, keď sa jedná o skutočný život klinika, prvej návšteve nového klienta dať dostatok informácií strana , kontakty, a ... registra okno môže byť za predpokladu, že návšteva na mieste bola vykonaná v čase mimo hodín, ako je predpísané lekárom nie je k dispozícii, dočasné vymenovanie sa uskutočňuje v inom úrade ...

Bod v internetovom priestore

Klasický odozva zdroje internetového priestoru - v reakcii na žiadosť o vydanie stránku webu (obvykle domov) a potom na druhú, na žiadosť návštevníka. Site Server tiež obsahuje obrázky, štýly kód JavaScript skripty, PHP, atď Nie všetky PHP súbory robiť stránok, niektoré z nich môžu reagovať na požiadavky AJAX:. Prijímať, spracovávať a odosielať informácie.

Napísať skript hračkou. Ale dostať do bodu kontroly v internetovom priestore, to je nemožné určiť, kto az akého dôvodu určené, že je aktivovaný je meno, IP adresa a spojenie. Akýkoľvek pohyb v sieti prebieha v softvéri, a to predovšetkým prostredníctvom prehliadača, ale aj prostredníctvom robotov rôzneho pôvodu a miesta určenia prostredníctvom iných miestach pôsobenia.

Script, získať kontrolu, môže presne poznať iba: návšteva cez aký prehliadač prišiel návštevník, s odkazom, z ktorého IP adresy, a za prítomnosti sušienky. Iba Tie môžu poskytnúť informácie o tom, tvorí hlavnú stránku, ale len v prípade, že už tu návštevník. Vo všetkých ostatných prípadoch je možné vytvoriť iba všeobecnú odpoveď zo servera. AJAX príklady, ktoré možno ľahko nájsť na internete, by mali byť používané opatrne. Chyby v užívaní () objektu XMLHttpRequest sledovať, nie je ľahké.

Celková odpoveď a súkromný dialóg

Celková odpoveď zo servera - spoločná strana, označovaná ako princípu, čo sa nazýva index, a to začína mieste, ktoré je v rozpore s jeho odkazy na iné stránky sú k dispozícii. Avšak, v prípade, že návštevník pozná mená ďalších strán, ktoré sú v jeho chápaní bude nemenej dôležité ako jeden určený developera. Tu je klasický model naraz: celkový dizajn a funkčnosť, ktorá sa zameriava na všetkých návštevníkov.

Súkromný rozhovor - nadväzuje na predchádzajúcu reláciu návštevníka. Na stránkach už vie, čo urobil, že sa zaujímal o to, čo sa zobrazenú stránku a dal ho do jeho pamäti, napísal niečo sexom.

To používalo dva základná požiadavka na server k stiahnutiu na webe a prácu s ním: POST a GET. výsledok dotazu je celá stránka. Na zobrazenej stránke, môže návštevník aktiváciu týchto alebo iných udalostí, ktoré sú nakonfigurované na pôsobenie niektorých prvkov stránky.

Udalosti prvky stránky

Stránka element môže byť kľúčom k nájdeniu informácií, význam - prijať obsah textového poľa a zistí, že napísal návštevníka. Táto akcia sa môže objaviť na položky menu, obrázok, textové pole. V každom prípade bude JavaScriptu funkcie spustiť, ktorý môže vykonávať AJAX požiadavka takto:

InitXML ( '../ Mphp / scSrvPhpWord.php? CTask = GoPage' + 'a cOwnerCode =' + cOwnerCode
+ 'A CSessionCode =' + cSessionCode + '& cActiveItem =' + cActiveItem);

Tak funkcie InitXML () je definovaná nasledovne (premenná var scXHR popísaný mimo funkcie):

Funkcia InitXML (scURL) {

scXHR = null;

if (window.XMLHttpRequest)
{try
{ScXHR = new XMLHttpRequest ();
} Catch (e) {}
} else
if (window.ActiveXObject)
{try
{ScXHR = nový ActiveXObject ( 'Msxml2.XMLHTTP');
} Catch (e)
{try
{ScXHR = nový ActiveXObject ( 'Microsoft.XMLHTTP');
} Catch (e) {}
}
}
if (scXHR)
{
scXHR.open ( 'GET', scURL);
scXHR.onreadystatechange = WaitReplySC;
scXHR.send (null);
};
}

Táto funkcia má adresu URL a iniciuje požiadavku na to. Asynchrónne odpoveď príde, keď splnia skript zadaný v URL (v tomto prípade - scSrvPhpWord.php, ktorý sa nachádza v priečinku ../Mphp/ vzhľadom ku koreňu miesta), a začne WaitReplySC () funkcia, ktorá ide do vstupu na serveri XML odozvy, vrátane názvu a obsahu.

odpoveď servera

V skutočnosti je server PHP skript - program, ktorý začne s inštaláciou základných podmienok, stiahne potrebné vybavenie, predbežnej úpravy, ktorá je závislá na zmysle pre vývojárov:

namespace PhpOffice \ PhpWord;

ini_set ( 'display_errors', 1);
error_reporting (E_ALL ^ E_NOTICE);

ignore_user_abort (true);
set_time_limit (12);

použite PhpOffice \ PhpWord \ MphpObj \ scDocuments;

require_once 'PhpOffice / PhpWord / Autoloader.php';
\ \ PhpOffice PhpWord \ Autoloader :: register ();

Predstavoval začiatok značka označujúca všetky chyby, zakazuje zastaviť skript, keď sa užívateľ odhlási a stanoví lehotu na vykonanie prípad slučky - 12 sekúnd. Vedľa knižnica PhpOffice \ PhpWord pre dokumenty * .docx.

Ako je uvedené vyššie AJAX volania ( '... cTask = GoPage' + 'a cOwnerCode =' + cOwnerCode + 'a cSessionCode =' + cSessionCode + 'a cActiveItem =' + cActiveItem) - štyri get-premenné, ktoré môžu alebo nemusia byť, mali kontrolovať ich skutočnej dostupnosti:

$ CTask = (isset ($ _ GET [ 'cTask']))? $ _GET [ 'cTask']: '';
$ COwnerCode = (isset ($ _ GET [ 'cOwnerCode']))? $ _GET [ 'cOwnerCode']: '';
$ CSessionCode = (isset ($ _ GET [ 'cSessionCode']))? $ _GET [ 'cSessionCode']: '';
$ CActiveItem = (isset ($ _ GET [ 'cActiveItem']))? $ _GET [ 'cActiveItem']: '';

Po vykonaní prípravnej akcie skript rozhodne, že:

switch ($ cTask) {

Prípad, GoPage ': // (to je výzva počas počiatočného stiahnutie alebo aktualizovať stránku)

$ COwnerCode = 'cOwner';
$ CSessionCode = 'cSession';
$ CContents = 'cContents';
$ CStatus = 'cStatus';
$ CHTML = iconv ( 'UTF-8', 'CP1251',, kódujúce prvok ");
$ CActiveItem = iconv ( 'UTF-8', 'CP1251', 'premenné');

$ CReply = "scSrvRM | GoPage | set | {$ cOwnerCode}` {$ cSessionCode} | {$ cContents} `{$ cStatus} | $ {} cHTML | {$ cActiveItem}";

break;

}

a záverečnú časť skriptu:

header ( "Content-Type: text / xml; accept-charset = utf-8");
header ( "Cache-Control: no-cache");
echo '';
$ CReply = iconv ( 'CP1251', 'UTF-8', $ cReply); // prevod z 'CP1251' v 'UTF-8'
echo $ cReply;

Získanie reakciu zákazníkov

Na stránke, ktorý je načítaný do prehliadača, zistilo sa, že akonáhle bude server prípravu odpovede, bude brané do úvahy funkcie WaitReplySC:

funkcia WaitReplySC () {

try {

if (scXHR.readyState == 4) {
if (scXHR.status == 200) {// spracovania odozvy

var TestReply = scXHR.responseText;

if (( 'error Parse' TestReply.indexOf ()> 0) ||
(TestReply.indexOf (ďalej len 'oznámenia')> 0)) alert (scXHR.responseText);

var časť cdata = scXHR.responseText;
var ADATA = cData.split ( '|');

var cCmd = adata [1];
var CPO = adata [2];
var aOwnerSession = adata [3] metódy split ( ' `');
cOwnerCode = aOwnerSession [0];
var cSessionCode = aOwnerSession [1];
var aContentStatus = adata [4] metódy split ( ' `');
var cContent = aContentStatus [0];
var cStatus = aContentStatus [1];
var cHTML = adata [5]; // server HTML odozvy
var cVarValues = adata [6]; // premenné pre formuláre

spínač (cCmd) {

Prípad 'GoPage':

var dTestLine = document.getElementById ( 'scTestLine');
dTestLine.innerHTML = 'odpoveď = [' + cOwnerCode + ''
+ CSessionCode + ''
+ CContent + ''
+ CStatus + ''
+ CHTML + ''
+ CVarValues + ']';

break;
}

} Else {
. Document.getElementById ( 'scAreaStatus') innerHTML = "Chyba !!!";
}
}
} Catch (e) {}

}

Teda, s použitím AJAX príkladmi, načítanie stránky v prehliadači získa (v scTestLine prvku):

Odpoveď = [cOwner, cSession, cContents, cStatus, prvky kódovanie s premennou hodnoty]

Na reprezentáciu kódu, jQuery a WordPress

Stránky v prehliadači a skript textu napísaného v UTF-8, pre funkciu použitie iconv () na prevedenie ruskej znaky. Zvyšok skeletu predstavovaného kód je veľmi jednoduchý a môže byť ľahko opakovať pre konkrétny účel.

Môžu byť zmenené iba v odpovedi na spracovanie serveri WaitReplySC () funkcie a aktuálny kód skript, ktorý generuje odozvu. Funkcia volá InitXML (pre konkrétnu scURL a jej zodpovedajúce dáta) sú umiestnené v obsluhy udalostí na prvky stránky a definovať význam týchto prvkov.

Prezentované príklady AJAX-orientované na "ručné" využívanie technológií.

V rôznych redakčného systému (SMS), možnosti sú popísané v rôznych spôsoboch, spravidla v štýle určitú špecificitu. Napríklad jQuery AJAX možnosťou volania sú realizované jQuery.ajax () funguje buď na vyššej úrovni: jQuery.get () a jQuery.post (). Parameter sa prenáša URL a nastavenia (súbor kľúčových párov + hodnota). jQuery.ajax () vracia XMLHttpRequest-objekt.

JQuery sledovať výsledky navrhovaných funkčných metód: XHR.done () - úspešné dokončenie požiadavky. XHR.fail () - spracovanie chýb.

jqXHR.done () metóda yavlyatsya alternatívne manipulátor úspešné dokončenie AJAX-žiadosti. Nahrádza metódu zastarané jqXHR.success ().

Rovnako tak, použitie na Wordpress AJAX technológie. Tu, všetko má implantovaný sa v systéme pre správu obsahu, je nutné použiť navrhovanú štruktúru iba. Tieto dokumenty poskytuje podrobný popis.

AJAX aplikácie závisí v podstate na zvolených nástrojov, aj keď ručné prevedenie možno použiť paralelne alebo navyše k vybranej redakčného systému, jedno alebo inú verziu jQuery. Tá je vhodná pre prácu na vlastnú päsť, pretože ju takmer používať všetky moderné SMS, ale každý svojím vlastným spôsobom.

Klasickým príkladom aplikácie

Jednoduché a exponenciálny využitie AJAX - košík internetový obchod. ukladať stránky sú vždy naplnený tovarom, hoci v skutočnosti to nemusí byť. Prekládka zvyčajne trvá značnú dobu, ale keď návštevník vyberie produkt, sa môže vždy iba vzdať na ňom alebo zmeniť vyvolenú, že na mieste je vždy žiaduce zobrazovať rýchlo.

Zvyčajne je realizovaný vo forme košov a značiek z celého vybraných položiek. Bez využitia AJAX dynamických zmenách týchto prvkov je problematické.

Ajax skripty, ktoré implementujú mechanizmy pridať / odobrať položky do nákupného košíka, sa stal de facto v mnohých SMS.

Pre normálnu prenos dát prostredníctvom AJAX formy môžu byť vytvorené bežným spôsobom (pre zadanie mena a hesla):


Name:
Heslo:




Prihlásiť

Tu handler:

funkcia scfWelcomeGo () {

var CNAME = document.fWelcome.cName.value;
var cPass = document.fWelcome.cPass.value;

InitXML ( '../ Mphp / scSrvPhpWord.php? CTask = CheckWelcome'
+ 'A CNAME =' + CNAME
+ 'A CPass =' + cPass);

}

Prenáša sa serverom pre overenie mena a hesla návštevníka. Skript kontroluje informácie prijaté v užívateľskej tabuľke a odošle späť odpoveď, na základe ktorých príslušný skript zobrazí správu na stránke (vykoná akciu) pre registrovaných používateľov, alebo správy, že žiadny takýto používateľ, a musia byť registrované.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sk.birmiss.com. Theme powered by WordPress.