KomputeranBernameyên

Ajax - wergerandî. Skrîpta Ajax

gihîştina bi rêya protokol torê, mekanîzmayên banga li Skrîpta şexsî, ji nifşekî / resepsiyonê agahiyan - The Internet mêvan ji Daxîlbûn ji hev çavkaniyê binirxîne ku di tora mehę, û browser pêşkêş dike. Set of pages ku di malperê de make up, heye a root hevpar - a link xweser (domain name, adresa node unique).

çibe çavkaniyê bersivê serdana statically an dînamîk şêwey bersiveke. Heta ku form û naverok û lapera li ser şert û merc, yekîneya nayê dabeşkirin ji server ragihandinê û bi muwekîlê (browser) girêdayî li-ser Wîkîcureyê HTML qediyayî document, images, stîlê û pelên din naveroka pêwîst û jîngehê ye. Eger tiştek xelet e, geroka maskeya her kesê ku "bi rê ve" ji bo parse û birêvebirin.

Gelek teknolojiya hêviyê kirine ji bo demeke dirêj derket holê, lê neheqî ji bîr bike an jî baş neyê bikaranîn dîtin. First AJAX (wergerandî bi kar object XMLHttpRequestê de) re xuya bû çend sal berê, lê serkeftina û dengê gelek paşê hat.

All an jî tenê tiştê ku tu divê

Di versiyona klasîk di malperê de - ku bi navê, ji IP-adresa û a link (hemû bêjeyên teklîf heman mijarê di qada înternetê de). Çi de ye li pişt vê rûpelê sereke - digot: li ser destpêşxeriya xwe bi xwe a "designer" modern, ku bi pirs çima wisa ye? Çima malperê rûpel sereke ji yên ku tu dikarî ji bo kesek din get e? Ev vebijêrk, - bi awayekî zelal bi îdeal, ku bi taybetî ji naverok û rastî fonksiyonên.

Simply kirin, eger yekî divê didanan, ev navnîşana mafê ji bo armanceke taybetî ye, bêtir ji bo pêjgehê ji bo emeliyat û ne ji bo pirtûkxaneya bo hekîmên şêwirînê. Li cihê ku ev yek derket holê, ku ew dibîne jî, lê bi wergirtina Dental Clinic li full. The best, ku dikarin wek kesek li bendê - Registry û derhêneriya (rêya rastîn) li cem dixtor. Û di cih de (li ser hatina) dikarin weke saxlem, û cihê biguherîne.

Lê di vir de di malperê de bi piranî her tim li cebilxane full barkirin, tiştek neguhere, li ser loading, hesabê vê dema ku kesek hatiye ... Lê belê di doza ku ew klînîkek bi jiyana rast, cara yekemîn we serdana a bi muwekîlê nû bidin rûpel agahî bes e ye. , têkilî, û ... di pencerê de nifûsê jî bibe ku, serdana malpera xwe ve pêk dema off-saetan, wek kirasa de ji aliyê bijîşk ne License de, demdemî serdanê heye cuda cuda li ofîsa ...

Point di qada înternetê de

Bersiva klasîk ên çavkaniyê ji qada înternetê de - li bersiva daxwaza bi pirsgirêk a rûpel site (bi piranî malê), û hingê yê din jî, li ser daxwaza mêvan. Site Server jî dihewîne images, styles, JavaScript code Skrîpta, PHP, û hwd. Ne ku her PHP-files do pages, hinek ji wan bibin bersiv ji bo AJAX daxwazên :. ji wan bistînin, pêvajoya û send agahî.

Hewe a script gezekê. Lê helbet ji xala kontrolê di qada înternetê de ev nabe, lê ji bo biryarên ku û ji bo çi yekê peyivî, ku Comment navê, ji IP-adresa û link e e. Bęjeyek ji tevgera li ser torê bi tondî li software, bi taybetî bi riya browser, di heman demê de bi riya robotan yên cuda bi eslê xwe û cihê de, bi riya çalakiyên yên din sites.

Script, xistin bin kontrola xwe, rastir dikarin bi tenê dizanin: serdana bi çi browser mêvan hatin, bi referanseke ji ku IP-navnîşanên, û bi hebûna cookies. Tenê ya dawîyê de dikarin agahî ne ku ji bo avakirina vê rûpela sereke, lê bi tenê eger mêvan ji niha ve li vir. Di hemû rewşên din de mimkun e ji bo bipêşxistina tenê bersiva giştî ji pêşkêşkar. AJAX-wergerandî ku bi hêsanî bibînin ku li ser înternetê, divê bi baldarî tê bikaranîn. Errors di (bikaranîna) ji object XMLHttpRequestê ji bo bişopîne ne hêsan e.

Bersiva giştî û diyaloga taybet

Bi giştî bersiva ji pêşkêşkar - hevpar rûpel, Dozgeriyê jî wek yên serekî yên çi tê gotin index, û ew dest bi malpereke ku li astengiyan bi xwe girêdan bi gotarên din de tune. Lê belê, eger mêvan dizane navên gotarên din de, ew bi xwe di têgihiştina wê êdî kêmtir girîng e ji yê terxankirî û pêşvebirinê. li design giştî û fonksiyonên ku li ser hemû mêvanên disekine: Li vir modela klasîk, hemû di cih de ye.

Private diyalogê - berdewama yên berê session of mêvan. The site jixwe dizane ku ew çi kir, ku ew dixweze di çi rûpel bînrawe bû û ev yek di bîra wî de, tiştekî li cookies browser nivîsî.

Ev her du daxwaz bingehîn bo server ji bo download malperê û kar bi wî: POST û GET. ya daxwazkirî encama tevahiya rûpel. Li ser rûpelê ku di encamê de, mêhvanên nikare van an din bûyerên ku li ser vê çalakiyê de ji hêmanên rûpel hin mîheng çalakkirin.

Events rûpel hêmanên

rûpel element dikare key bibînin agahî, meaning - to take naveroka text qadê û bibînin ku ew nivîsî mêhvanên. Ev bûyer dikare guhertinęn li ser menu babete, wêne, tabloya nivîsê de. Di her rewşê de, JavaScript-fonksiyona wê bê run, ku diNarin AJAX-daxwaz wiha ne:

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

Bi vî awayî InitXML () Fonksîyona giranî weha tê danasîn (variable var scXHR were rave li derveyî function):

function InitXML (scURL) {

scXHR = null;

Eger (window.XMLHttpRequest)
{biceribîne
{ScXHR = XMLHttpRequestê nû ();
} Catch (e) {}
} din
Eger (window.ActiveXObject)
{biceribîne
{ScXHR = new ActiveXObject ( 'Msxml2.XMLHTTP');
} Catch (e)
{biceribînin
{ScXHR = new ActiveXObject ( 'Microsoft.XMLHTTP');
} Catch (e) {}
}
}
Eger (scXHR)
{
scXHR.open ( 'GET', scURL);
scXHR.onreadystatechange = WaitReplySC;
scXHR.send (null);
};
}

Ev fonksiyona digre URL û dest daxwaza ji bo ew. bersiva asynchronous wek wê di demeke kurt de bê, wek wê skrîptê de hatine diyarkirin di URL cih (di vê rewşê de - scSrvPhpWord.php, located ya di peldankê de ../Mphp/ nisbeten root di malperê de), û li function WaitReplySC dê dest pê bike () de, input yên ku dê server XML-bersiva herin, di nav wan de title û naverok.

bersiva server

Di eslê xwe de server is a PHP-script - bernameya ku dest bi sazkirina bingehîn şert û mercên, download ya pêwîst tesîsên, pre-dermankirinê, ku girêdayî pêşvebirinê armancên:

namespace PhpOffice \ PhpWord;

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

ignore_user_abort (rast e);
set_time_limit (12);

bi kar tînin PhpOffice \ PhpWord \ MphpObj \ scDocuments;

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

Yek nîşana destpêka lekeyek Olîvîerî, tu çewtiyên, qedexe dike, rawestandin a script dema ku user têketin off û sets a dem li ser bicîhanîna doza loop - 12 seconds. pirtûkxaneya link Next PhpOffice \ PhpWord ji bo belgeyên * .docx.

Wekî ku li banî tê AJAX-dijwarîya ( '... cTask = GoPage' + '& cOwnerCode =' + cOwnerCode + '& cSessionCode =' + cSessionCode + '& cActiveItem =' + cActiveItem) - çar GET-guherbarên, ku may ne be divê hebûna xwedîyên wan de venêrî:

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

Piştî stran skrîptê action amadekar biryar da:

Guhestina ($ cTask) {

Doza 'GoPage': // (ev dijwarîya di dema destpêkê download an refresh rûpel)

$ COwnerCode = 'cOwner';
$ CSessionCode = 'cSession';
'CContents' $ CContents =;
$ CStatus = 'cStatus';
$ CHtml = iconv ( 'UTF-8', 'CP1251', 'bi kar binî element ");
$ CActiveItem = iconv ( 'UTF-8', 'CP1251', 'guherbarên');

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

bişkînin;

}

û di beşa dawî ya bi tîpê:

header ( "Content-Type: text / xml; qebûl-charset = UTF-8");
header ( "Cache-Control: no-cache");
echo '';
$ CReply = iconv ( 'CP1251', 'UTF-8', $ cReply); // zivirîna ji 'CP1251' li 'UTF-8' '
echo $ cReply;

Bersiveke mişterî

Li ser rûpelê ku di geroka barkirin, hat dîtin ku di demeke ku pêşkêşkarê dê bersiveke amade bike, wê bê hêrandî function WaitReplySC:

xebatê WaitReplySC () {

hewl {

Eger (scXHR.readyState == 4) {
Eger (scXHR.status == 200) {// bersiva processing

var TestReply = scXHR.responseText;

Eger (( 'error Parse' TestReply.indexOf ()> 0) ||
(TestReply.indexOf ( 'Notice')> 0)) hişyar (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]; // IP-server bersiv
var cVarValues = adata [6]; // guherbarên bo Cureyên

Guhestina (cCmd) {

Doza 'GoPage':

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

bişkînin;
}

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

}

Bi vî awayî, bi bikaranîna AJAX-wergerandî, di rûpelê ku di browser barkirin bidestxistina (li element scTestLine):

Reply = [cOwner, cSession, cContents, cStatus, hêmanên rêdanê nirxên variable]

Li ser temsîliyeta code, jQuery û WordPress

Page di geroka û text skrîptê de hatiye nivîsîn li UTF-8, ji bo wezîfeya bikaranîna iconv () ji bo misilmankirina characters Russian. Ya mayî bi hestî bi nûnertiya code pir hêsan e û mirov bi hêsanî dikare ji bo armanceke taybetî dubare kir.

Babetê guhartinê bi tenê di bersiva processing server function WaitReplySC () û koda script rastî ku li bersiva. Gazî function InitXML (ji bo scURL taybetî û daneya têkildar to it) bi di handlers bûyer li ser hêmanên rûpel ji danîn û define wateya van hêmanan.

wergerandî Presented ji AJAX-sîwaneke bi "manual" de bikaranîna teknolojiya.

Di cuda content management system (SMS) şiyanên têne şirovekirin li cuda awayan, wek qaîde, di style of a taybetî .Mezinbûn. Ji bo nimûne, jQuery AJAX banga derfetên werne jQuery.ajax () û erkên yan mezintir asta: jQuery.get () û jQuery.post (). Li parametre ye waxtekî url û settings (set of key cotên + nirxê). jQuery.ajax () vedigere XMLHttpRequestê-object.

JQuery danin ku encam ji aliyê pêşniyar function-rêbazên: XHR.done () - temamkirina serkeftî yên bi daxwaz. XHR.fail () - bizava error.

jqXHR.done () method yavlyatsya handler alternatîf temamkirina serkeftî yên AJAX-request. Şûna rêbaza jqXHR.success hîştine ().

Bi heman awayî, bikaranîna li Wordpress AJAX-teknolojiya. Li vir her tişt di nav site management system lêş, hûn bi tenê divê ji bo bikaranîna avaniya pêşniyar. Belgeyên a description bi hûrgilî.

Bikaranîna AJAX pir li ser Amûra hilbijartî girêdayî, tevî ku Versiyon ji manual dikarin di paralel an de li gel sîstema hilbijartin ya management site, guhertoyeke taybetî yên jQuery tê bikaranîn. Ji van ya dawî ji bo xebatê li ser xwe bi xwe, ji ber ku hema hema hemû SMS modern bi kar tînin, wê kêrhatî ye, lê her yek di riya xwe.

A nimûne klasîk ên application

Simple û exponential bikaranîna AJAX - Têxe bike store. store Rûpelan, herdem bi mal tije, ku di rastiyê de ew ne gengaz be. Ji nûve bi piranî digire dem derbaskirine, lê dema mêhvanên a berhemê hildibijêre, ku ew her tim bi tenê dev jê berde li wî an jî biguherîne yek hilbijartin, ku di malperê de her tim tê xwestin ji bo nîşandanê zû.

Bi şêwekî ku di form of selik û şopên li dora hilbijartî fêm kir. Bêyî bikaranîna Guherandinên dînamîk AJAX ji van hêmanan bi pirsgirêk e.

AJAX-Skrîpta ku pêkanîna mekanîzmayên lê / jê tomar to cart te, de facto di gelek SMS bû.

Ji bo veguhestina di Daneyên normal bi rêya formê AJAX dibe ku bi awayekî nefermî, ava (ji bo ketina name û şîfreya xwe):


Name:
Password:




Çûna

Here handler:

xebatê scfWelcomeGo () {

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

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

}

Ev ji bo ku pêşkêşkarê guwastinewey heb name mêvan û şîfreya xwe. Bi tîpê kontroll agahiyên hatin bidestxistin, li ser sifrê ji bikarhênerên û dişîne dîsa bersiveke li ser esasê ku bi tîpê guncaw li ser rûpel displays peyva (performs ve çalakiyek) bo bikarhênerên qeydkirî, an raporên ku tu wiha bikarhêner, û wê pêwîst e ji bo derbas prosedûra qeydkirinê.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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