KompjutersIpprogrammar

Ajax - eżempji. skripts Ajax

L-internet jipprovdi l-viżitatur l-viżibilità ta 'kull riżorsa li huwa ospitat f'netwerk, u browser - aċċess permezz protokolli ta' netwerk, mekkaniżmi sejħa ta 'skripts individwali, trasmissjoni / riċeviment ta' informazzjoni. Sett ta 'paġni li jiffurmaw is-sit, għandu għerq komuni - rabta unika (isem tad-dominju, l-indirizz node uniku).

Ma jimpurtax-riżorsa jirrispondi li jżuru statikament jew dinamikament jiġġenera rispons. Anki jekk il-forma u l-kontenut tal-paġni jiddependu fuq xi kondizzjonijiet, unità indiviżibbli ta 'server komunikazzjoni u l-klijent (browser) huwa d-dokument lest coded HTML, stampi, folji stil, u fajls oħra meħtieġa kontenut u l-ambjent. Jekk hemm xi ħaġa ħażina, il-browser displays kollu li hu "irnexxielhom" biex tikseb parse u tesegwixxi.

teknoloġiji promettenti ħafna ħarġu għal żmien twil, iżda ġew inġustament minsija jew ma ġewx użati kif suppost. Ewwel Ajax (eżempji jużaw l-oġġett XMLHttpRequest) deher bosta snin ilu, iżda s-suċċess u l-fama daħal ħafna aktar tard.

Kollha jew biss dak li għandek bżonn

Fil-verżjoni klassika tas-sit - l-isem, l-IP-indirizz u link (sinonimi kollha li jindikaw l-istess punt fl-ispazju Internet). Dak li jinsab wara din il-paġna prinċipali - ħasbu: fuq inizjattiva tagħhom stess moderna "disinjatur", li lanqas biss jistaqsu għaliex huwa hekk? Għaliex is-sit hija l-paġna prinċipali minn fejn tista 'tikseb għal kull oħra? Din l-għażla - b'mod ċar mhux ideali, huwa l-kontenut speċifiku u l-funzjonalità attwali.

Fi kliem sempliċi, jekk persuna teħtieġ dentist, huwa l-indirizz dritt għal skop speċifiku, aktar milli għall-kċina għall-kirurġija u mhux għall-librerija għal terapista konsultazzjoni. Fil-post fejn dan wieħed rriżulta, jara, iżda ma jirċevix klinika dentali b'mod sħiħ. L-aħjar li jistgħu jistennew viżitatur --reġistru u d-direzzjoni (il-passaġġ eżatt) lit-tabib. U fuq il-post (-wasla) jistgħu jinbidlu bħala tabib, u d-destinazzjoni.

Iżda hawn l-sit normalment dejjem mgħobbija fil-munizzjon sħiħ, xejn bidliet fuq it-tagħbija, b'kont meħud tal-ħin li xi ħadd wasal ... Iżda anki fil-każ fejn tkun klinika ħajja reali, l-ewwel darba li żżur klijent ġdid li tagħti biżżejjed paġna ta 'informazzjoni , il-kuntatti, u ... l-reġistru tieqa tista 'tingħata dik l-vista fil-post sar matul off-hours, kif preskritt mit-tabib ma tkunx disponibbli, ħatra temporanja ssir f'uffiċċju differenti ...

Punt fl-ispazju Internet

Ir-rispons klassika tar-riżorsa tal-ispazju Internet - bi tweġiba għal talba biex tinħareġ paġna sit (normalment dar), u mbagħad l-oħra, fuq talba tal-viżitatur. Sit Server fih ukoll immaġini, stili, skripts kodiċi JavaScript, PHP, eċċ Mhux PHP-fajls kollha jagħmlu paġni, xi wħud minnhom jistgħu jirrispondu għal talbiet Ajax :. li jirċievu, jipproċessaw u jibagħtu informazzjoni.

Jiktbu skript snap. Imma jkollna sal-punt ta 'kontroll fl-ispazju Internet, huwa impossibbli li jiġi ddeterminat min u għal liema raġuni indirizzati, li huwa attivat huwa l-isem, l-IP-indirizz u rabta. Kwalunkwe moviment fuq in-netwerk iseħħ fis-software, l-aktar permezz ta 'browser, iżda wkoll permezz ta l-robots ta' oriġini differenti u d-destinazzjoni permezz siti oħra ta 'azzjoni.

Script, jiksbu kontroll, jistgħu b'mod preċiż taf biss: żjara permezz ta 'dak browser tal-viżitatur daħal, b'referenza minnha IP indirizzi, u il-preżenza tal-cookies. Biss il-aħħar ikunu jistgħu jipprovdu informazzjoni rigward il-forma l-paġna prinċipali, iżda biss jekk il-viżitatur diġà kien hawn. F'kull każ ieħor huwa possibbli li tiġġenera biss ir-rispons ġenerali mis-server. Ajax-eżempji li huma faċli li ssib fuq l-Internet, għandhom jintużaw b'attenzjoni. Żbalji fil-(użu) ta 'l-oġġett XMLHttpRequest biex jittraċċaw mhix faċli.

Ir-rispons globali u d-djalogu privat

Ir-rispons globali mis-server - paġna komuni, imsejjaħ il-prinċipal ta 'dak li jissejjaħ l-indiċi, u dan jibda bil-sit li tmur kontra b'rabtiet tiegħu lill-paġni l-oħra disponibbli. Madankollu, jekk il-viżitatur jaf l-ismijiet tal-paġni l-oħra, huma fil-fehim tiegħu se jkun mhux inqas importanti mill-iżviluppatur wieħed nominat. Hawn hu l-mudell klassiku, kollha f'daqqa:-disinn globali u l-funzjonalità li tiffoka fuq il-viżitaturi kollha.

Privat djalogu - kontinwazzjoni tas-sessjoni preċedenti tal-viżitatur. Is-sit diġà jaf dak li kien, li kien interessat fil dak li kien meqjusa paġna u poġġih fil-memorja tiegħu, kiteb xi ħaġa fil-cookies browser.

Hija użata żewġ talba bażiċi għall-server biex tniżżel is-sit u jaħdmu miegħu: POST u IKOLLOK. ir-riżultat mistoqsija hija paġna sħiħa. Fuq il-paġna li tirriżulta, il-viżitatur jista 'jattiva dawn jew oħrajn avvenimenti li huma konfigurati fuq l-azzjoni ta' ċerti elementi paġna.

Elementi Avvenimenti paġna

Element-paġna tista 'tkun essenzjali biex issib informazzjoni, tifsira - li jieħdu l-kontenut ta' qasam tat-test u ssib li kiteb viżitatur. L-avveniment jista 'jseħħ fuq oġġett menu, stampa, kaxxa ta' test. Fi kwalunkwe każ, JavaScript funzjoni se titmexxa, li jistgħu jwettqu Ajax-talba kif ġej:

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

Għalhekk InitXML () funzjoni huwa definit kif ġej (scXHR var varjabbli tiġi deskritta barra tal-funzjoni):

funzjoni InitXML (scURL) {

scXHR = null;

jekk (window.XMLHttpRequest)
{ipprova
{ScXHR = XMLHttpRequest ġdid ();
} Qabda (e) {}
} inkella
jekk (window.ActiveXObject)
{ipprova
{ScXHR = ġdid ActiveXObject ( "Msxml2.XMLHTTP");
} Qabda (e)
{ipprova
{ScXHR = ActiveXObject ġdid ( "Microsoft.XMLHTTP");
} Qabda (e) {}
}
}
jekk (scXHR)
{
scXHR.open ( "IKOLLOK", scURL);
scXHR.onreadystatechange = WaitReplySC;
scXHR.send (null);
};
}

Din il-funzjoni jieħu URL u jibda talba għal dan. tweġiba Asinkronika se jidħlu hekk kif se jissodisfaw l-iskrittura speċifikat fil-URL (f'dan il-każ - scSrvPhpWord.php, li jinsabu fil ../Mphp/ folder relattiv għall-għeruq tas-sit), u se tibda WaitReplySC () funzjoni, li tmur għall-input tas-server XML-tweġiba, inkluż it-titlu u l-kontenut.

rispons server

Attwalment il-server huwa PHP iskrittura - programm li jibda bl-istallazzjoni mill-kundizzjonijiet essenzjali, tniżżel il-faċilitajiet meħtieġa, qabel it-trattament, li jiddependi fuq l-għanijiet iżviluppatur:

namespace PhpOffice \ PhpWord;

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

ignore_user_abort (veru);
set_time_limit (12);

użu PhpOffice \ PhpWord \ MphpObj \ scDocuments;

require_once "PhpOffice / PhpWord / Autoloader.php";
\ Reġistru PhpOffice \ PhpWord \ autoloader :: ();

Irrappreżenta l-bidu ta 'marka li tindika xi żbalji, tipprojbixxi waqfien b'kitba meta l-utent zkuk off u jiffissaw skadenza fuq jwettqu każ linja - 12 sekonda. Li jmiss rabta librerija PhpOffice \ PhpWord għad-dokumenti * docx.

Kif muri hawn fuq Ajax-isfida ( "... cTask = GoPage" + "& cOwnerCode =" + cOwnerCode + "& cSessionCode =" + cSessionCode + "& cActiveItem =" + cActiveItem) --erba IKOLLOK-varjabbli, li jista 'ma jkunx għandhom tiċċekkja d-disponibbiltà attwali tagħhom:

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

Wara li tkun wettqet l-iskrittura azzjoni preparatorja jiddeċiedi:

swiċċ ($ cTask) {

każ "GoPage": // (din hija sfida matul l-download inizjali jew jġedded il-paġna)

$ COwnerCode = "cOwner";
$ CSessionCode = "cSession";
$ CContents = "cContents";
$ CStatus = "cStatus";
$ CHtml = iconv ( "CP1251 '' UTF-8", "kodifikazzjoni element");
$ CActiveItem = iconv ( "CP1251 '' UTF-8", "varjabbli");

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

break;

}

u l-parti finali ta 'l-iskrittura:

header ( "Kontenut-Tip: test / xml; jaċċetta-charset = UTF-8");
header ( "Cache-kontroll:-ebda cache");
eku "";
$ CReply = iconv ( "CP1251", "UTF-8", $ cReply); // konverżjoni minn "CP1251" fil- "UTF-8 '
eku $ cReply;

Getting rispons klijent

Fuq il-paġna li hi mgħobbija fil-browser, instab li hekk kif is-server se tħejji rispons, se tiġi pproċessata WaitReplySC funzjoni:

jiffunzjona WaitReplySC () {

ipprova {

jekk (== scXHR.readyState 4) {
jekk (== scXHR.status 200) {// ipproċessar rispons

var TestReply = scXHR.responseText;

jekk (( "żball Parse" TestReply.indexOf ()> 0) ||
(TestReply.indexOf ( "Avviż")> 0)) twissija (scXHR.responseText);

var cData = scXHR.responseText;
var aData = cData.split ( "|");

cCmd var = aData [1];
cPos var = aData [2];
aOwnerSession var = aData [3] .split ( "` ");
cOwnerCode = aOwnerSession [0];
cSessionCode var = aOwnerSession [1];
var aContentStatus = aData [4] .split ( "` ");
cContent var = aContentStatus [0];
var cStatus = aContentStatus [1];
var cHTML = aData [5]; // server HTML rispons
cVarValues var = aData [6]; // varjabbli għal Formoli

swiċċ (cCmd) {

każ "GoPage":

var dTestLine = document.getElementById ( "scTestLine");
dTestLine.innerHTML = "Reply = [" + cOwnerCode + ","
+ CSessionCode + ","
+ CContent + ","
+ CStatus + ","
+ CHTML + ","
+ CVarValues + "]";

break;
}

} Else {
. Document.getElementById ( "scAreaStatus") innerHTML = "Żball !!!";
}
}
} Qabda (e) {}

}

Għalhekk, bl-użu Ajax-eżempji, il-paġna hija mgħobbija fil-browser tikseb (fil-element scTestLine):

Tweġiba = [cOwner, cSession, cContents, cStatus, elementi kodifikazzjoni valuri varjabbli]

Dwar ir-rappreżentazzjoni tal-kodiċi, jQuery u WordPress

Page fil-browser u t-test iskrittura miktub fil UTF-8, għall-użu iconv () funzjoni li jikkonvertu karattri Russi. Il-bqija tal-iskeletru rappreżentat minn kodiċi hija sempliċi ħafna u tista 'tkun faċilment ripetuti għal kull skop partikolari.

Soġġetta għal bidla biss fir-risposta ipproċessar server WaitReplySC () funzjoni u l-kodiċi iskrittura attwali li jiġġenera r-rispons. Jitlob funzjoni InitXML (għal scURL partikolari u data rilevanti għalih) huma mqiegħda avveniment handlers fuq l-elementi paġna u jiddefinixxu t-tifsira ta 'dawn l-elementi.

eżempji ppreżentati ta Ajax orjentati għal "manwal" l-użu tat-teknoloġija.

Fil varji sistema ta 'ġestjoni kontenut (SMS) kapaċitajiet huma deskritti b'modi differenti, bħala regola, fl-istil ta' speċifiċità partikolari. Ngħidu aħna, possibbiltajiet sejħa jQuery Ajax jiġu realizzati jQuery.ajax () funzjonijiet jew livell ogħla: jQuery.get () u jQuery.post (). Il-parametru hija trasmessa url u settings (sett ta 'pari b'valur + ewlenin). jQuery.ajax () prospetti XMLHttpRequest oġġett.

JQuery sabiex jittraċċjaw il-riżultati tal-funzjoni-metodi proposti: XHR.done () --tlestija b'suċċess tat-talba. XHR.fail () - tqandil żball.

jqXHR.done () metodu yavlyatsya handler alternattiv tlestija b'suċċess ta Ajax-talba. Jissostitwixxi skaduti metodu jqXHR.success ().

Bl-istess mod, l-użu ta 'verifiki fuq Wordpress Ajax-teknoloġija. Hawnhekk, kollox impjantat ruħu fis-sistema ġestjoni tal-kontenut, għandek bżonn biss li juża l-istruttura proposta. Id-dokumenti pprovdiet deskrizzjoni ddettaljata.

Ajax Applikazzjoni jiddependi essenzjalment fuq l-għodod magħżula, għalkemm il-verżjoni manwal jista 'jintuża b'mod parallel jew flimkien ma' sistema ta 'ġestjoni kontenut magħżul, wieħed jew ieħor verżjoni ta jQuery. L-aħħar huwa utli biex jaħdmu fuq tagħhom stess, minħabba li kważi kollha SMS moderna jużawh, iżda kull fil-mod tiegħu.

Eżempju klassiku ta 'applikazzjoni

użu sempliċi u esponenzjali ta Ajax - CART ħanut online. paġni maħżen huma dejjem mimlija bil-oġġetti, għalkemm fir-realtà dawn ma jistgħux ikunu. Tagħbija mill-ġdid normalment jieħu żmien konsiderevoli, iżda meta viżitatur jagħżel prodott, huwa jista 'dejjem biss jagħtu fuq lilu jew jibdlu l-wieħed magħżul, li s-sit huwa dejjem mixtieq li juri malajr.

Normalment huwa realizzati fil-forma ta 'basktijiet u marki madwar punti magħżula. Mingħajr l-użu ta 'bidliet dinamiċi Ajax li dawn l-elementi hija problematika.

Ajax-skripts li jimplimentaw mekkaniżmi li jżidu / jitneħħew oġġetti li cart tiegħek, sar de facto f'ħafna SMS.

Għat-trasmissjoni normali tad-data permezz forma Ajax tista 'tkun iffurmata b'mod konvenzjonali (għad-dħul l-isem u l-password):


Isem:
Password:




Sinjal

Hawnhekk handler:

jiffunzjona scfWelcomeGo () {

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

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

}

Li jibgħat lis-server biex jivvalida isem u l-password tal-viżitatur. kontrolli l-iskrittura l-informazzjoni riċevuta fit-tabella utent, u jibgħat lura rispons fuq il-bażi tiegħu l-iskrittura rilevanti juri messaġġ fuq il-paġna (jwettaq azzjoni) għall-utenti reġistrati, jew rapporti li l-ebda utent bħal din, u jeħtieġ li jiġu rreġistrati.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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