Kompjutera, Programimi
Ajax - shembuj. Scripts Ajax
Interneti ofron vizitor dukshmëria e çdo burim që është pritur në një rrjet, dhe shfletuesit - qasje nëpërmjet protokollet e rrjetit, mekanizmat e thirrjes të Scripts individuale, transmetimit / pranimit të informacionit. Set i faqeve që përbëjnë vendin, ka një rrënjë të përbashkët - një lidhje të veçantë (emri domain, një adresë unike nyje).
Pa marrë parasysh se burimi i përgjigjet për të vizituar statike ose dinamike gjeneron një përgjigje. Edhe në qoftë se forma dhe përmbajtja e faqeve të varet nga çdo kushte, njësi e pandashme e serverit komunikimit dhe klientit (shfletues) është përfunduar dokumenti HTML-koduar, imazhe, fletët stil, dhe fotografi të tjera përmbajtjen e nevojshme dhe mjedisin. Nëse diçka është e gabuar, shfletuesi shfaq të gjitha që është "arritur" të marrë kuptoj dhe ekzekutuar.
Shumë teknologji premtuese kanë dalë për një kohë të gjatë, por janë harruar pa të drejtë, ose nuk janë përdorur si duhet. AJAX parë (shembuj të përdorur sendin XMLHttpRequest) u shfaq shumë vite më parë, por suksesi dhe fama erdhi shumë më vonë.
Të gjitha ose vetëm atë që ju duhet
Në versionin klasik të faqes - emri, IP-adresën dhe një lidhje (të gjitha sinonime përcaktimin e njëjta pikë në hapësirën e internetit). Çfarë qëndron pas kësaj faqe kryesore - mendova: me iniciativën e tyre një "projektuesi" moderne, e cila as nuk e pyes pse është kështu? Pse faqe është faqja kryesore nga të cilat ju mund të merrni për ndonjë tjetër? Ky opsion - në mënyrë të qartë jo ideale, kjo është përmbajtja specifike dhe funksionalitetin aktual.
Ta themi thjesht, në qoftë se një person ka nevojë për një dentisti, kjo është adresa e drejtë për një qëllim të veçantë, në vend se në kuzhinë për kirurgji dhe jo në bibliotekë për terapist konsultimit. Në vendin ku kjo doli, ai sheh, por nuk marrin një klinikë dentare në mënyrë të plotë. Më e mirë që mund të presin një vizitor - e regjistrit dhe drejtimin (rrugën e saktë) te mjeku. Dhe në vend (në mbërritje) mund të ndryshojë si një mjek, dhe destinacionit.
Por këtu është vendi zakonisht gjithmonë ngarkuar në municion të plotë, asgjë nuk ndryshon në ngarkim, duke marrë parasysh kohën që ka ardhur dikush ... Por edhe në rastin kur ajo është një klinikë jetën reale, hera e parë që ju vizitoni një klient të ri për të dhënë faqe të mjaftueshme të informacionit , kontakte, dhe ... regjistrit dritare mund të sigurohet se vizita në këtë faqe interneti është bërë gjatë jashtë orarit, siç përshkruhet nga mjeku nuk është në dispozicion, një emërim i përkohshëm është bërë në një zyrë të ndryshme ...
Pikë në hapësirën e internetit
Përgjigja klasike e burimeve të hapësirës në internet - në përgjigje të një kërkese për të nxjerrë një faqe faqe (zakonisht në shtëpi), dhe pastaj tjetri, me kërkesën e vizitorit. Site Server gjithashtu përmban imazhe, stilet, Scripts kodin JavaScript, PHP, etj Jo të gjitha PHP-files bërë faqet, disa prej tyre mund t'i përgjigjet kërkesave AJAX :. për të marrë, procesin dhe për të dërguar informacion.
Shkruani një skenar një punë e lehtë. Por, duke marrë në pikën e kontrollit në hapësirën e internetit, është e pamundur për të përcaktuar se kush dhe për çfarë arsye adresohen, që është aktivizuar është emri, IP-adresën dhe Lidhje. Çdo lëvizje në rrjetin zhvillohet në software, kryesisht nëpërmjet një shfletues, por edhe përmes robotëve me prejardhje të ndryshme dhe destinacionit nëpër faqet e tjera të veprimit.
Script, të fituar kontroll, mund ta dimë me saktësi vetëm: një vizitë nëpër çfarë shfletuesi erdhi vizitor, me një referencë nga e cila IP-adresat, dhe praninë e cookies. Vetëm kjo e fundit mund të japin informacion, si për të formuar faqen kryesore, por vetëm nëse vizitori është tashmë këtu. Në të gjitha rastet e tjera është e mundur për të gjeneruar vetëm përgjigje të përgjithshme nga serveri. AJAX-shembuj që janë të lehtë për të gjetur në internet, duhet të përdoren me kujdes. Gabimet në të (përdorimin) e objektit XMLHttpRequest për të ndjekur nuk është e lehtë.
Përgjigja e përgjithshme dhe dialogu private
Përgjigja e përgjithshme nga serveri - një faqe të përbashkët, të referuara si principalit e asaj që quhet indeksi, dhe ajo fillon me një vend që është në kundërshtim me lidhjet e saj me faqet e tjera në dispozicion. Megjithatë, në qoftë se vizitori di emrat e faqeve të tjera, ata janë në të kuptuarit e tij do të jetë jo më pak e rëndësishme se një caktuar zhvilluesi i saj. Këtu është modeli klasik, të gjitha në të njëjtën kohë: dizajni i përgjithshëm dhe funksionalitetin që fokusohet në të gjithë vizitorët.
Dialogu Private - një vazhdim i seancës së mëparshme të vizitorëve. Site tashmë e di atë që ai e bëri, se ai ishte i interesuar në atë që është parë faqe dhe e vënë atë në kujtesën e tij, shkroi diçka në cookies të shfletuesit.
Ajo përdoret dy kërkesa themelore me serverin për të shkarkuar faqen e internetit dhe të punojnë me të: Posta dhe MERRNI. rezultati query është një faqe e tërë. Në faqen rezulton, vizitori mund të aktivizoni këto apo të tjera ngjarje që janë të konfiguruar në veprimin e elementeve të caktuara faqe.
Elementet Ngjarje Faqe
element faqe mund të jetë çelësi për të gjetur informacione, kuptim - për të marrë përmbajtjen e një fushë teksti dhe për të gjetur se ajo ka shkruar një vizitor. Ngjarja mund të ndodhë në një artikull menu, foto, kutinë e tekstit. Në çdo rast, JavaScript-funksion do të drejtohet, të cilat mund të kryejnë AJAX-kërkesën si më poshtë:
InitXML ( '../ Mphp / scSrvPhpWord.php? CTask = GoPage' + '& cOwnerCode =' + cOwnerCode
+ 'Dhe CSessionCode =' + cSessionCode + '& cActiveItem =' + cActiveItem);
Kështu InitXML Funksioni () është përcaktuar si më poshtë (variabël var scXHR të përshkruhet jashtë funksionit):
funksion InitXML (scURL) {
scXHR = pavlefshme;
nëse (window.XMLHttpRequest)
{provoni
{ScXHR = XMLHttpRequest re ();
} Kapur (e) {}
} tjetër
nëse (window.ActiveXObject)
{provoni
{ScXHR = ri ActiveXObject ( 'Msxml2.XMLHTTP');
} Kapur (e)
{provoni
{ScXHR = ri ActiveXObject ( 'Microsoft.XMLHTTP');
} Kapur (e) {}
}
}
nëse (scXHR)
{
scXHR.open ( 'MERRNI', scURL);
scXHR.onreadystatechange = WaitReplySC;
scXHR.send (pavlefshme);
};
}
Ky funksion merr një URL dhe inicon një kërkesë për të. Përgjigja Asynchronous do të vijë sa më shpejt që do të përmbushë të shkrimit specifikuar në URL (në këtë rast - scSrvPhpWord.php, të vendosura në dosje ../Mphp/ në lidhje me rrënjët e faqes), dhe do të fillojë WaitReplySC () funksion, e cila shkon në të dhëna të serverit XML-përgjigje, duke përfshirë titullin dhe përmbajtjen.
përgjigje server
Aktualisht server është një PHP-script - një program që fillon me instalimin e kushteve thelbësore, shkarko lehtësitë e nevojshme, para-trajtimit, e cila varet nga qëllimet zhvilluesi:
namespace PhpOffice \ PhpWord;
ini_set ( 'display_errors', 1);
error_reporting (E_ALL ^ E_NOTICE);
ignore_user_abort (vërtetë);
set_time_limit (12);
përdorin PhpOffice \ PhpWord \ MphpObj \ scDocuments;
require_once 'PhpOffice / PhpWord / Autoloader.php';
\ PhpOffice \ PhpWord \ autoloader :: Regjistrohu ();
Përfaqësuar fillimin e një shenjë që tregon ndonjë gabim, ndalon ndalimin e një script kur përdoruesi shkrimet off dhe vendos një afat kohor për kryerjen e rasteve lak - 12 sekonda. Biblioteka Next Lidhje PhpOffice \ PhpWord për dokumentet * docx.
Siç tregohet më sipër AJAX-sfidë ( '... cTask = GoPage' + '& cOwnerCode =' + cOwnerCode + '& cSessionCode =' + cSessionCode + '& cActiveItem =' + cActiveItem) - katër get-variabla, e cila nuk mund të jetë duhet të kontrolloni disponueshmërinë e tyre aktuale:
$ CTask = (isset ($ _ GET [ 'cTask']))? $ _GET [ 'cTask']: '';
$ COwnerCode = (isset ($ _ GET [ 'cOwnerCode']))? $ _GET [ 'cOwnerCode']: '';
$ CSessionCode = (isset ($ _ GET [ 'cSessionCode']))? $ _GET [ 'cSessionCode']: '';
$ CActiveItem = (isset ($ _ GET [ 'cActiveItem']))? $ _GET [ 'cActiveItem']: '';
Pas kryerjes script veprime përgatitore vendos:
switch ($ cTask) {
Rasti 'GoPage': // (kjo është një sfidë gjatë shkarkim fillestar ose rifreskoni faqen)
$ COwnerCode = 'cOwner';
$ CSessionCode = 'cSession';
'CContents' $ CContents =;
$ CStatus = 'cStatus';
$ CHtml = iconv ( 'UTF-8' CP1251 'kodim element ");
$ CActiveItem = iconv ( 'UTF-8' CP1251 'variablat');
$ CReply = "scSrvRM | GoPage | set | {$ cOwnerCode}` {$ cSessionCode} | {$ cContents} `{$ cStatus} | {$ cHtml} | {$ cActiveItem}";
thyer;
}
dhe pjesa e fundit e shkrimit:
header ( "Content-Type: text / xml; pranojë-charset = utf-8");
header ( "Cache-Control: no-cache");
echo '
$ CReply = iconv ( 'CP1251' UTF-8 ', $ cReply); // konvertimit nga 'CP1251' in 'utf-8'
echo $ cReply;
Getting përgjigje të konsumatorëve
Në faqen që është ngarkuar në shfletuesin, ajo u gjet se sa më shpejt që serveri do të përgatisë një përgjigje, ajo do të përpunohen funksion WaitReplySC:
funksionojnë WaitReplySC () {
provoni {
nëse (scXHR.readyState == 4) {
nëse (scXHR.status == 200) {// përpunimin përgjigje
var TestReply = scXHR.responseText;
në qoftë se ((TestReply.indexOf ( 'Parse error')> 0) ||
(TestReply.indexOf ( "Njoftimi")> 0)) alert (scXHR.responseText);
var CDATA = scXHR.responseText;
var aData = cData.split ( '|');
var cCmd = aData [1];
var CPO = aData [2];
var aOwnerSession = aData [3] .split ( '' '');
cOwnerCode = aOwnerSession [0];
var cSessionCode = aOwnerSession [1];
var aContentStatus = aData [4] .split ( '' '');
var cContent = aContentStatus [0];
var cStatus = aContentStatus [1];
var cHTML = aData [5]; // server HTML-përgjigje
cVarValues var = aData [6]; // variabla për forma
kalimi (cCmd) {
Rasti 'GoPage':
var dTestLine = document.getElementById ( 'scTestLine');
dTestLine.innerHTML = 'Reply = [' + cOwnerCode + '
+ CSessionCode + '
+ CContent + '
+ CStatus + '
+ CHTML + '
+ CVarValues + ']';
thyer;
}
} Tjetër {
. Document.getElementById ( 'scAreaStatus') innerHTML = "gabimet !!!";
}
}
} Kapur (e) {}
}
Kështu, duke përdorur AJAX-shembuj, faqe është ngarkuar në shfletuesin marrë (në elementin scTestLine):
Përgjigje = [cOwner, cSession, cContents, cStatus, elementet qe kodon vlerat e ndryshueshme]
Në përfaqësimin e kodit, jQuery dhe WordPress
Faqe në shfletuesin dhe tekstit të shkrimit të shkruar në UTF-8, për përdorim iconv () funksion për të kthyer në karaktere ruse. Pjesa tjetër e skeletit përfaqësuar nga kodi është shumë e thjeshtë dhe mund të përsëritet lehtë për ndonjë qëllim të veçantë.
Subjekt për të ndryshuar vetëm në përgjigje të përpunimit server WaitReplySC () funksion dhe Kodi aktual script që gjeneron përgjigje. Telefonatat funksion InitXML (për një scURL të veçantë dhe të dhënat përkatëse në të) janë të vendosur në handlers ngjarje në elementet faqe dhe të përcaktojë kuptimin e këtyre elementeve.
Shembujt e paraqitur nga AJAX të orientuar për "manual" përdorimi i teknologjisë.
Në sistemin e ndryshme të menaxhimit të përmbajtjes (SMS) aftësitë janë përshkruar në mënyra të ndryshme, si rregull, në stilin e një veçantisë veçantë. Për shembull, mundësitë thirrje jQuery AJAX janë realizuar jQuery.ajax () funksionon në të dyja një nivel më të lartë: jQuery.get () dhe jQuery.post (). Parametri transmetohet url dhe settings (grup i çifte kryesore me vlerë +). jQuery.ajax () kthen XMLHttpRequest-objekt.
JQuery për të ndjekur rezultatet e propozuara funksion me metodat: XHR.done () - përfundimin e suksesshëm të kërkesës. XHR.fail () - trajtimin gabim.
jqXHR.done () metodë yavlyatsya alternative mbajtës Përfundimi i suksesshëm i AJAX-kërkesës. Zëvendëson jqXHR.success () metodë vjetëruara.
Në mënyrë të ngjashme, përdorimi i mbi Wordpress AJAX-teknologji. Këtu, çdo gjë e ka futur veten në sistemin e menaxhimit të përmbajtjes, ju vetëm duhet të përdorni strukturën e propozuar. Dokumentet dhënë një përshkrim të detajuar.
AJAX Aplikimi varet kryesisht në mjetet e zgjedhura, edhe pse versioni manual mund të përdoret në paralele ose përveç zgjedhur sistemin e menaxhimit të përmbajtjes, një apo një tjetër version të jQuery. Kjo e fundit është e dobishme për të punuar më vete, sepse pothuajse të gjithë SMS moderne përdorin atë, por secili në mënyrën e vet.
Një shembull klasik i aplikimit
Përdorimi i thjeshtë dhe eksponenciale e AJAX - Shporta dyqan online. Faqet dyqan janë gjithmonë të mbushura me mallra, edhe pse në realitet ata nuk mund të jetë. Reloading zakonisht merr kohë të konsiderueshme, por kur një vizitor zgjedh një produkt, ai gjithmonë mund vetëm të heqë dorë në atë ose të ndryshojë një të zgjedhur, se vendi është gjithmonë e dëshirueshme për të shfaqur shpejt.
Zakonisht ajo është realizuar në formën e baskets dhe shenjat rreth artikujve të zgjedhur. Pa përdorimin e AJAX ndryshimeve dinamike të këtyre elementeve është problematike.
AJAX-Scripts që zbatojnë mekanizma për të shtuar / hequr artikuj në karrocë tuaj, u bë de facto në shumë SMS.
Për transmetimin normal të dhënave nëpërmjet formularit AJAX mund të formohet në një mënyrë konvencionale (për të hyrë emrin dhe fjalëkalimin):
Similar articles
Trending Now