ComputerProgramming

Ajax - mga panig-ingnan. Ajax scripts

Ang Internet naghatag sa mga bisita sa visibility sa matag kapanguhaan nga gidumala sa usa ka binuhat nga linala, ug browser - access pinaagi sa protocol network, mekanismo tawag sa tagsa-tagsa nga sinulatan, transmission / pagdawat sa impormasyon. Ibutang sa mga panid nga naglangkob sa site, adunay usa ka komon nga gamut - sa usa ka talagsaon nga link (domain ngalan, usa ka talagsaon nga binurotan, hubag address).

Walay butang sa kapanguhaan mosanong sa pagbisita sa urong o maabtikon og usa ka tubag. Bisan kon ang mga dagway ug sa sulod sa mga panid nagdepende sa bisan unsa nga mga kondisyon, mabulag nga yunit sa komunikasyon server ug sa kliyente (browser) mao ang natapos nga HTML-coded nga dokumento, mga larawan, estilo sheets, ug uban pang mga files nga gikinahanglan sulod ug palibot. Kon ang usa ka butang nga sayop, ang browser nagpasundayag sa tanan nga "nakahimo" sa pagkuha parse ug ipakanaug.

Daghan ang masaarong teknolohiya ang mitumaw alang sa usa ka hataas nga panahon, apan na nga dili makataronganon nakalimot o wala nga gigamit sa husto nga paagi. Unang Ajax (mga ehemplo sa paggamit sa XMLHttpRequest butang) nagpakita sa daghang mga tuig na ang milabay, apan ang kalampusan ug kabantog sa ulahi.

Tanan o lang ang imong gikinahanglan

Sa classic nga bersyon sa site - sa ngalan, ang IP-address ug sa usa ka link (sa tanan nga mga synonyms nga nagtumong sa mao usab nga punto sa Internet luna). Unsay anaa sa luyo niini nga nag-unang pahina - naghunahuna: sa ilang kaugalingon nga inisyatibo sa usa ka modernong "designer", nga wala pa gani mangutana nganong kini mao ang mao? Nganong ang site mao ang nag-unang pahina nga gikan nga imong mahimo og sa bisan unsa nga sa uban nga mga? Kini nga kapilian - tin-aw nga dili sulundon nga, kini mao ang piho nga sulod ug sa aktuwal nga kagamitan, katuyoan.

Sa yanong pagkasulti, kon ang usa ka tawo nagkinahanglan sa usa ka dentista, kini mao ang husto nga address alang sa usa ka piho nga katuyoan, kay sa ngadto sa kusina alang sa operasyon ug dili sa librarya alang sa konsultasyon therapist. Sa dapit diin kini nga usa mibalik gikan, iyang makita, apan dili makadawat sa usa ka dental clinic sa bug-os nga. Ang labing maayo nga nga magdahom sa usa ka bisita - ang registry ug sa direksyon (ang eksaktong dalan) ngadto sa doktor. Ug sa ibabaw sa spot (sa pag-abot) mahimong mausab ingon nga sa usa ka doktor, ug destinasyon.

Apan dinhi sa site kasagaran sa kanunay loaded sa bug-os nga mga bala, walay bisan unsa nga mga kausaban sa loading, nga nagakuha sa ngadto sa account sa panahon nga ang usa ka tawo miabut ... Apan bisan pa sa kaso diin kini mao ang usa ka tinuod nga kinabuhi clinic, ang unang panahon nga kamo moduaw sa usa ka bag-o nga kliyente sa paghatag og igo nga panid nga impormasyon , kontak, ug ... ang tamboanan registry mahimong gihatag nga ang pagbisita sa site gihimo sa panahon sa off-oras, sama sa gimando sa doktor dili anaa, usa ka temporaryo nga pagtudlo nga gihimo sa usa ka lain-laing mga opisina ...

Point sa Internet luna

Ang classic tubag sa kapanguhaan sa Internet nga luna - sa tubag sa usa ka hangyo sa isyu sa usa ka site panid (kasagaran sa balay), ug dayon sa lain, sa hangyo sa mga bisita. Site Server usab naglakip sa mga larawan, estilo, JavaScript code scripts, PhP, ug uban pa Dili tanang PHP-file sa pagbuhat sa mga panid, nga ang uban kanila mahimong motubag sa Ajax hangyo :. sa pagdawat, proseso ug ipadala impormasyon.

Isulat sa usa ka script sa usa ka bugto. Apan pagkuha sa punto sa control sa mga Internet luna, imposible sa pagtino kinsa ug alang sa unsa nga rason gitumong, nga activate ang ngalan, ang IP-address ug link. Sa bisan unsa nga kalihukan sa network mahitabo sa software, nag-una pinaagi sa usa ka browser, apan usab pinaagi sa mga robot sa lain-laing mga gigikanan ug destinasyon pinaagi sa ubang mga dapit sa aksyon.

Script, makaangkon og kontrol, mahimo tukma masayud lamang: sa usa ka pagbisita pinaagi sa unsa nga browser ang bisita miabut, uban sa usa ka pakisayran nga gikan nga IP-adres, ug sa atubangan sa mga cookies. Lamang sa ulahing mga makahatag og impormasyon sama sa sa pagporma sa mga nag-unang pahina, apan lamang kon ang bisita na dinhi. Sa tanan nga uban nga mga kaso nga kini mao ang posible nga sa pagmugna lamang sa kinatibuk-ang tubag gikan sa server. Ajax-mga panig-ingnan nga sayon sa pagpangita sa Internet, kinahanglan nga gamiton pag-ayo. Mga sayop sa (paggamit) sa XMLHttpRequest nga butang sa pagsubay dili sayon.

Ang kinatibuk-ang tubag ug sa pribado nga dialogue

Ang kinatibuk-ang tubag gikan sa server - sa usa ka komon nga pahina, nga gitawag sa ingon nga ang mga prinsipal sa unsa ang gitawag sa mga index, ug kini nagsugod sa usa ka dapit nga anaa sa sukwahi sa iyang mga sumpay ngadto sa ubang mga panid nga anaa. Apan, kon ang bisita nahibalo sa mga ngalan sa ubang mga panid, sila diha sa iyang pagsabot mahimong dili kaayo importante kay sa usa nga gitudlo Developer. Ania ang classic nga modelo, ang tanan sa makausa: ang kinatibuk-ang disenyo ug sa kalihukan nga nag-focus sa tanan nga mga bisita.

Private dialogue - usa ka pagpadayon sa sa miaging sesyon sa bisita. Ang site na nahibalo kon unsa ang iyang gibuhat, nga siya interesado sa giisip panid ug gibutang kini sa iyang panumdoman, misulat og usa ka butang diha sa cookies browser.

Kini gigamit sa duha ka nag-unang mga hangyo ngadto sa server sa pag-download sa mga site, ug pagtrabaho uban kaniya: POST ug PAGPAKALUWAS. ang pangutana resulta mao ang usa ka bug-os nga panid. Sa resulta nga pahina, ang bisita mahimo activate niini o sa ubang mga panghitabo nga gihulma, giporma sa aksyon sa pipila ka mga elemento panid.

mga elemento nga mga panghitabo panid

panid nga elemento mahimong yawe sa pagpangita sa impormasyon, kahulogan - sa pagkuha sa mga sulod sa usa ka uma nga teksto ug makakaplag nga kini gisulat sa usa ka bisita. Ang kalihokan mahimo nga mahitabo sa ibabaw sa usa ka menu butang, hulagway, text kahon. Sa bisan unsa nga kaso, JavaScript-function nga modagan, nga sa pagbuhat sa Ajax-hangyo sama sa mosunod:

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

Mao kini ang InitXML () function gihubit sa mosunod (baryable var scXHR nga gihulagway sa gawas sa function):

function InitXML (scURL) {

scXHR = bili;

kon (window.XMLHttpRequest)
{pagsulay
{ScXHR = bag-o nga XMLHttpRequest ();
} Dakpon (e) {}
} pa
kon (window.ActiveXObject)
{pagsulay
{ScXHR = bag-o nga ActiveXObject ( 'Msxml2.XMLHTTP');
} Dakpon (e)
{pagsulay
{ScXHR = bag-o nga ActiveXObject ( 'Microsoft.XMLHTTP');
} Dakpon (e) {}
}
}
kon (scXHR)
{
scXHR.open ( 'Panindog', scURL);
scXHR.onreadystatechange = WaitReplySC;
scXHR.send (null);
};
}

function Kini nga nagkinahanglan og usa ka URL ug nagpasiugda sa usa ka hangyo alang niini. Asynchronous tubag moabut sa diha nga ang pagtuman sa script bungat sa URL (sa niini nga kaso - scSrvPhpWord.php, nga nahimutang sa ../Mphp/ suksukanan sa papel paryente sa gamut sa mga site), ug magsugod WaitReplySC () nga function, nga moadto sa input sa server XML-tubag, lakip na ang titulo ug sa sulod.

server tubag

Sa pagkatinuod ang server mao ang usa ka PHP-script - usa ka programa nga nagsugod sa instalasyon sa mga importante nga mga kahimtang, download sa gikinahanglan nga mga pasilidad, pre-pagtambal, nga nag-agad sa mga katuyoan developer:

namespace PhpOffice \ PhpWord;

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

ignore_user_abort (tinuod nga);
set_time_limit (12);

paggamit sa PhpOffice \ PhpWord \ MphpObj \ scDocuments;

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

Nagrepresentar sa sinugdanan sa usa ka timaan nga nagpaila sa bisan unsa nga mga sayop, sa dili mohunong sa usa ka script sa diha nga ang user mga troso ug nagtakda sa usa ka panahon sa utlanan sa pagbuhat sa kaso laang - 12 segundos. Sunod link librarya PhpOffice \ PhpWord alang sa mga dokumento * .docx.

Ingon sa gipakita sa ibabaw Ajax-hagit ( '... cTask = GoPage' + '& cOwnerCode =' + cOwnerCode + '& cSessionCode =' + cSessionCode + '& cActiveItem =' + cActiveItem) - ang upat ka get-baryable, nga dili kinahanglan check sa ilang aktuwal nga anaa:

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

Human sa paghimo sa pagpangandam aksyon script mohukom:

switch ($ cTask) {

kaso 'GoPage': // (kini mao ang usa ka hagit sa panahon sa inisyal nga download o sa pagpabuhi sa panid)

$ COwnerCode = 'cOwner';
$ CSessionCode = 'cSession';
$ CContents = 'cContents';
$ CStatus = 'cStatus';
$ CHtml = iconv ( 'UTF-8', 'CP1251', 'coding elemento ");
$ CActiveItem = iconv ( 'UTF-8', 'CP1251', 'baryable');

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

paglapas;

}

ug ang katapusan nga bahin sa script:

header ( "Content-Type: teksto / XML; modawat-charset = utf-8");
header ( "Cache-sa-Kaugalingon: walay-cache");
mopalanog '';
$ CReply = iconv ( 'CP1251', 'UTF-8', $ cReply); // pagkakabig gikan sa 'CP1251' sa 'UTF-8'
lanog $ cReply;

Getting customer tubag

Sa pahina nga loaded sa browser, kini nakita nga sa diha nga ang server magaandam sa usa ka tubag, kini nga proseso function WaitReplySC:

paglihok WaitReplySC () {

sulayi {

kon (scXHR.readyState == 4) {
kon (scXHR.status == 200) {// tubag pagproseso

var TestReply = scXHR.responseText;

kon ((TestReply.indexOf ( 'Parse sayop')> 0) ||
(TestReply.indexOf ( 'Matikdi')> 0)) alerto (scXHR.responseText);

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

var cCmd = aData [1];
var cPos = 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-tubag
var cVarValues = aData [6]; // baryable alang sa mga porma

switch (cCmd) {

kaso 'GoPage':

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

paglapas;
}

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

}

Busa, sa paggamit sa Ajax-mga panig-ingnan, ang pahina nga loaded sa browser makabaton (sa scTestLine elemento):

Reply = [cOwner, cSession, cContents, cStatus, mga elemento encode baryable mga prinsipyo]

Sa representasyon sa code, jQuery ug sa Sun.Star

Page sa browser ug sa script nga teksto gisulat sa UTF-8, alang sa paggamit iconv () nga function sa kinabig nga Russian nga mga karakter. Ang uban nga mga eskeleton nga gihawasan sa code mao ang kaayo mga walay-pagtagad, ug mahimong dali gisubli alang sa bisan unsa nga partikular nga katuyoan.

Subject sa pag-usab lamang sa tubag processing server WaitReplySC () function ug sa aktuwal nga script code nga makamugna ang tubag. Gitawag InitXML function (alang sa usa ka partikular nga scURL ug may kalabutan nga data sa niini) ang gibutang sa handlers event sa ibabaw sa mga elemento pahina ug nagpaila sa kahulogan sa mga elemento.

Gipresentar panig-ingnan sa Ajax-oriented nga "manwal" sa paggamit sa teknolohiya.

Sa nagkalain-laing mga sulod nga sistema sa pagdumala (SMS) kapabilidad gihubit sa lain-laing mga paagi, ingon sa usa ka pagmando sa, sa estilo sa usa ka partikular nga kapihoan. Pananglitan, jQuery Ajax tawag posibilidad nga nakaamgo jQuery.ajax () gimbuhaton sa bisan hain sa usa ka mas taas nga ang-ang: jQuery.get () ug jQuery.post (). sukaranan ang transmitted url ug setting (set sa yawe parisan + bili). jQuery.ajax () mobalik XMLHttpRequest-butang.

JQuery sa pagsubay sa mga resulta sa mga gisugyot nga function-mga pamaagi: XHR.done () - sa malampuson nga pagkompleto sa hangyo. XHR.fail () - sayop handling.

jqXHR.done () pamaagi yavlyatsya alternatibo handler malampuson pagkompleto sa Ajax-hangyo. Mopuli sa outdated jqXHR.success () pamaagi.

Sa susama, ang paggamit sa sa Wordpress Ajax-teknolohiya. Dinhi, ang tanan nga butang nga gitisok sa iyang kaugalingon diha sa sulod sa sistema sa pagdumala, nga kamo kinahanglan lamang sa paggamit sa gisugyot nga gambalay. Ang mga dokumento nga gihatag sa usa ka detalyado nga paghulagway.

Ajax Paggamit agad esensya sa pinili nga mga himan, bisan pa ang mga manwal nga bersyon mahimong gigamit sa susama o dugang pa sa mga pinili nga mga sistema sa sulod sa pagdumala, ang usa o sa lain nga bersyon sa jQuery. Ang ulahing mapuslanon sa pagtrabaho sa ilang mga kaugalingon, tungod kay hapit tanan nga modernong SMS sa paggamit niini, apan ang tagsatagsa sa iyang kaugalingon nga paagi.

Usa ka classic nga ehemplo sa aplikasyon

Yano ug exponential nga paggamit sa Ajax - Cart online tindahan. mga panid tindahan kanunay puno sa mga butang, bisan pa sa pagkatinuod sila dili mahimo nga. Reloading sa kasagaran nagkinahanglan dakong panahon, apan sa diha nga ang usa ka bisita mopili sa usa ka produkto, siya sa kanunay lang sa paghatag sa sa sa kaniya o sa pag-usab sa mga pinili, nga sa site mao ang kanunay nga madanihon sa pagpasundayag sa madali.

Kasagaran kini nakaamgo sa dagway sa mga bukag ug mga marka sa palibot pinili nga mga butang. Kon wala ang paggamit sa Ajax dinamikong mga kausaban niini nga mga mga elemento mao ang problema.

Ajax-scripts nga pagpatuman sa mga mekanismo aron sa pagdugang / kuhaa butang sa imong carromata, nahimong de facto sa daghang SMS.

Kay normal nga transmission data pinaagi sa Ajax porma mahimong nag-umol sa usa ka conventional nga paagi (sa pagsulod sa ngalan ug password):


Ngalan:
Password:




Sign

Ania handler:

paglihok scfWelcomeGo () {

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

InitXML ( '../ Mphp / scSrvPhpWord.php? CTask = CheckWelcome'
+ '& CName =' + cName
+ '& CPass =' + cPass);

}

Kini ipasa ngadto sa server pagsubay sa ngalan sa bisita ug password. script Ang nagsusi sa impormasyon nga nadawat sa lamesa sa user, ug nagpadala sa usa ka tubag sa basehan nga ang may kalabutan script pagpakita sa usa ka mensahe sa panid (naghimo sa usa ka aksyon) alang sa mga rehistrado nga tiggamit, o mga taho nga walay ingon nga user, ug kinahanglan nga narehistro.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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