KompüterProqramlaşdırma

Ajax - nümunələri. Ajax scripts

şəbəkə protokolları, fərdi scripts zəng mexanizmləri, informasiya ötürülməsi / qəbulu vasitəsilə çıxış - Internet qonaq şəbəkə ev sahibliyi hər resurs görünürlüğünü və browser edir. unikal link (domen adı, unikal node ünvanı) - site etmək pages, bir ümumi kök var.

resurs statik və ya dinamik ziyarət cavab olursa olsun cavab yaradır. forma və pages content hər hansı bir şəraitdə, rabitə server bölünməz vahidi və müştəri (brauzer) asılı olsa belə başa HTML-kodlu sənəd, şəkillər, stillər, və digər faylları zəruri məzmun və mühit. bir şey səhv varsa, browser ki analiz və icra almaq üçün "idarə" bütün göstərir.

Bir çox perspektivli texnologiyalar uzun müddət ortaya, amma haqsız yerə unudulmuş və ya düzgün istifadə olunmayıb. First AJAX (nümunələr XMLHttpRequest obyekt istifadə) bir çox il əvvəl ortaya çıxdı, lakin uğur və şöhrət çox sonra gəldi.

Bütün və ya yalnız sizə lazım nə

Saytın klassik versiyası - adı, IP-ünvanı və bir link (Internet məkanında eyni nöqtəyə təyin bütün eş). Bu əsas səhifə arxasında yerləşir - fikir onların öz təşəbbüsü ilə bu qədər niyə belə istəməyib müasir "dizayner"? Niyə site hər hansı digər əldə edə bilərsiniz olan əsas səhifə edir? Bu seçim - aydın deyil ideal, bu xüsusi məzmunu və faktiki funksionallıq.

Sadəcə bir şəxs bir diş həkimi lazımdır, əgər, bu, olduqca əməliyyat üçün deyil, məsləhət terapevt üçün kitabxana mətbəx daha konkret məqsəd üçün doğru ünvanı, qoydu. bu çıxdı yerdə, o görür, lakin tam bir diş klinikası almır. həkim qeyd və istiqaməti (dəqiq yol) - bir qonaq ola bilər ki, ən yaxşı. Və (gəlişdə) yerində həkim, və hedef olaraq dəyişə bilər.

Amma burada adətən həmişə tam sursat yüklü site, heç bir şey Lakin hətta bu, real həyat klinika, siz kifayət qədər informasiya səhifə vermək üçün yeni müştəri ziyarət ilk dəfə halda ... nəzərə kimsə gəlib ki, vaxt alaraq, loading sonra dəyişikliklər var site səfər off-saat ərzində həyata keçirilmişdir ki, həkim tərəfindən təyin edilmiş kimi, kontaktlar, və ... pəncərə qeyd, təmin edilə bilər ki, bir müvəqqəti təyin fərqli bir ofisdə edilir, mövcud deyil ...

İnternet məkanında Point

qonaq xahişi ilə bir site səhifə (adətən ev), sonra digər vermək xahişi cavab - Internet yer resursunun klassik cavab. Site Server də bütün PHP faylları pages etmək, onlardan bəziləri prosesi almaq və məlumat göndərmək üçün :. AJAX müraciətlərinə cavab bilməz şəkillər, üslub, JavaScript kodu scripts, PHP, və s. Var.

bir script bir snap yazın. Amma internet məkanında nəzarət nöqtəsinə almaq, bu aktiv ki, adı, IP-ünvanı və link olan və müraciət nə səbəbdən müəyyən etmək mümkün deyil. şəbəkə hər hansı bir hərəkət əsasən brauzer vasitəsilə, həm də fəaliyyət digər saytları vasitəsilə müxtəlif mənşəli və təyinat robotlar vasitəsilə proqram yer tutur.

Script, dəqiq yalnız bilirik, nəzarət əldə: qonaq gəlib nə browser vasitəsilə səfər, bir istinad olan IP-ünvanları, və cookies hüzurundan. Əsas səhifə yaratmaq üçün yalnız sonuncu məlumat təmin edə bilər, lakin qonaq artıq burada olmuşdur yalnız. Bütün digər hallarda bu server yalnız ümumi cavab yaratmaq mümkündür. İnternet tapmaq üçün asan AJAX-nümunələri diqqətlə istifadə olunmalıdır. izlemek üçün XMLHttpRequest obyektin (istifadə) səhvlər asan deyil.

Ümumi cavab və xüsusi dialoq

server ümumi cavab - ümumi səhifə index adlanır nə əsas kimi istinad və mövcud digər pages öz bağlantılar davalı bir site ilə başlayır. qonaq digər pages adları bilir, əgər Lakin, onlar bir təyin geliştirici daha az əhəmiyyətli olacaq onun anlaşma var. bütün ziyarətçilər diqqət ümumi dizayn və funksionallıq: Burada bütün bir dəfə klassik model edir.

Private dialoq - qonaq əvvəlki iclasının davamı. site artıq o səhifə göstərildi nə maraqlı idi və onun xatirəsinə qoydu browser cookies bir şey yazırdı ki, nə bilir.

POST və GET: Bu sayt download və onunla işləmək server iki əsas tələbi istifadə olunur. sorğu nəticəsində bütün səhifə. nəticəsində page, qonaq müəyyən səhifə elementləri fəaliyyət yapılandırılmış bu və ya digər tədbirlər aktivləşdirə bilərsiniz.

Events səhifə elementləri

bir mətn sahəsində məzmunu almaq və bir qonaq yazmışdır ki, tapmaq üçün - səhifə element məlumat mənasını tapmaq üçün əsas ola bilər. Tədbir menu item, şəkil, mətn qutusuna baş verə bilər. Hər halda, JavaScript funksiyası aşağıdakı kimi AJAX-sorğu edə bilərsiniz ki, davam edəcək:

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

Beləliklə InitXML () funksiyası (dəyişən var scXHR funksiyası kənarda təsvir edilə) müəyyən edilir:

funksiyası InitXML (scURL) {

scXHR = null;

əgər (window.XMLHttpRequest)
{cəhd
{ScXHR = yeni XMLHttpRequest ();
} Catch (e) {}
} başqa
əgər (window.ActiveXObject)
{cəhd
{ScXHR = yeni ActiveXObject (Msxml2.XMLHTTP ');
} Catch (e)
{cəhd
{ScXHR = yeni ActiveXObject (Microsoft.XMLHTTP ');
} Catch (e) {}
}
}
əgər (scXHR)
{
scXHR.open (GET, scURL);
scXHR.onreadystatechange = WaitReplySC;
scXHR.send (null);
};
}

Bu funksiya URL alır və bunun üçün sorğu başlayacaq. Və server XML-cavab giriş gedir WaitReplySC () funksiyası başlayacaq - Asynchronous cavab (saytın kök ../Mphp/ qovluq nisbətən yerləşən scSrvPhpWord.php, bu halda) URL göstərilən script yerinə yetirəcək kimi tezliklə gələcək adı və məzmunu, o cümlədən.

server cavab

Əslində server PHP-script edir - şərait, geliştirici məqsədləri asılıdır pre-müalicə, download əsas şərtlər quraşdırılması ilə başlayır proqramı:

ad PhpOffice \ PHPWord;

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

ignore_user_abort (doğru);
set_time_limit (12);

PhpOffice \ PHPWord \ MphpObj \ scDocuments istifadə;

Require_once "PhpOffice / PHPWord / Autoloader.php ';
\ PhpOffice \ PHPWord \ Autoloader :: qeydiyyatdan ();

12 saniyə - Istifadəçi off logs və iş loop həyata bir vaxt müəyyən zaman hər hansı bir səhv olduğunu ifadə edən bir işarə başlanğıcı təmsil bir script dayandırılması qadağan. sənədlər üçün Next link kitabxana PhpOffice \ PHPWord * Docx.

AJAX-problem yuxarıda göstərildiyi kimi (... cTask = GoPage '+' & cOwnerCode = '+ cOwnerCode +' & cSessionCode = '+ cSessionCode +' & cActiveItem = '+ cActiveItem) - dörd GET-dəyişənlər, ola bilər ki, onların faktiki mövcudluğu yoxlamaq lazımdı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']: '';

həyata sonra hazırlıq fəaliyyət script qərara alır:

switch ($ cTask) {

iddiasında 'GoPage ": // (Bu ilkin download zamanı bir problem və ya yenile sehife)

$ COwnerCode = 'cOwner';
$ CSessionCode = 'cSession';
$ CContents = 'cContents';
$ CStatus = 'cStatus';
$ Chtml = iconv (UTF-8 "," CP1251 ',' element kodlaşdırma ");
$ CActiveItem = iconv (UTF-8 "," CP1251 ',' dəyişənlər ');

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

qırmaq;

}

və script yekun hissəsi:

header ( "Content-Type: text / xml; qəbul-charset = utf-8");
header ( "Cache-Control: no-cache");
' "echo;
$ CReply = iconv (CP1251 "," UTF-8 ", $ cReply); // "UTF-8 'in' CP1251" dönüşüm
echo $ cReply;

müştəri cavab almaq

brauzerinizin yüklü page, bu server cavab hazırlayacaq tezliklə kimi, funksiyası WaitReplySC emal olunacaq ki, aşkar edilmişdir:

{) (WaitReplySC fəaliyyət

{cəhd

əgər (scXHR.readyState == 4) {
(ScXHR.status == 200) {// cavab emal əgər

var TestReply = scXHR.responseText;

əgər ((TestReply.indexOf (Parse səhv)> 0) ||
(TestReply.indexOf (Notice)> 0)) alert (scXHR.responseText);

var CDATA = scXHR.responseText;
var yola çıxaraq adata = cData.split ( '|');

var cCmd = yola çıxaraq adata [1];
var cPos = yola çıxaraq adata [2];
var aOwnerSession = yola çıxaraq adata [3] Split ( ` ');
cOwnerCode = aOwnerSession [0];
var cSessionCode = aOwnerSession [1];
var aContentStatus = yola çıxaraq adata [4] Split ( ` ');
var cContent = aContentStatus [0];
var cStatus = aContentStatus [1];
var chtml = yola çıxaraq adata [5] // server HTML-cavab
var cVarValues = yola çıxaraq adata [6]; Formaları üçün // dəyişənlər

switch (cCmd) {

iddiasında 'GoPage'

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

qırmaq;
}

} Else {
. Document.getElementByID (scAreaStatus) innerHTML = "Xəta !!!"
}
}
} Catch (e) {}

}

Belə ki, AJAX-nümunələri istifadə edərək, səhifə (scTestLine element) əldə brauzerinizin yükləndi:

Cavab = [cOwner, cSession, cContents, cStatus, elementləri dəyişən dəyərlər kodlama]

indeksi, jQuery və WordPress təmsil On

istifadə iconv () funksiyası üçün brauzerinizin və UTF-8 yazılı script mətn Page rus simvol çevirmək. kod təmsil skelet qalan çox sadə və asanlıqla hər hansı bir məqsəd üçün təkrar oluna bilər.

Mövzu yalnız emal server cavab WaitReplySC () funksiyası və cavab yaradır faktiki script kodu dəyişdirmək üçün. (Xüsusi scURL və ona müvafiq məlumatlar üçün) çağırır InitXML funksiyası səhifə elementləri hadisə işleyicileri yerləşdirilmiş və bu elementlərin mənasını müəyyən edir.

təqdim nümunələri üçün "manual" texnologiyası istifadə AJAX-yönümlü.

müxtəlif content management sistemi (SMS) imkanları xüsusi xüsusiyyətləri üslubunda, bir qayda olaraq, müxtəlif yollarla təsvir edilir. jQuery.get () və jquery.post (): Məsələn, jQuery AJAX zəng imkanları jQuery.ajax () ya daha yüksək səviyyədə fəaliyyət həyata keçirilir. parametri (əsas + dəyər cüt set) url və parametrləri ötürülür. jQuery.ajax () XMLHttpRequest-obyekt qaytarır.

JQuery təklif funksiyası üsulları nəticələri izlemek üçün: XHR.done () - sorğu uğurla başa. XHR.fail () - səhv rəftar.

AJAX-in jqXHR.done () metodu yavlyatsya alternativ handler uğurla başa. köhnəlmiş jqXHR.success () metodu əvəz edir.

Eynilə, Wordpress AJAX-texnologiya istifadə. Burada hər şey content idarəetmə sistemi özünü implantasiya ki, yalnız təklif strukturu istifadə etmək lazımdır. sənədlər bir ətraflı təsviri təmin edir.

manual version paralel və ya seçilmiş content idarəetmə sisteminin bir və ya jQuery bir versiyası əlavə istifadə edilə bilər, baxmayaraq ki, AJAX Application seçilmiş alətləri mahiyyətcə asılıdır. sonuncu demək olar ki, bütün müasir SMS istifadə çünki, öz üzərində işləmək üçün faydalı, ancaq öz yolu hər.

Tətbiqi klassik nümunəsidir

AJAX sadə və eksponent istifadə - Səbətə online mağaza. əslində onlar ola bilər, baxmayaraq ki, mağaza pages həmişə mal ilə doldurulur. adətən yenidən xeyli vaxt tələb edir, lakin bir qonaq bir məhsul seçir zaman, o, həmişə yalnız ona imtina edə bilər və ya site tez keçirmək üçün hər zaman arzu olunandır ki, seçilmiş bir dəyişir.

Adətən seçilmiş maddələr ətrafında zənbillər və işarələri şəklində həyata keçirilir. bu elementləri AJAX dinamik dəyişikliklər istifadə etmədən problemlidir.

Əlavə et / Sizin qovluqda maddələr aradan qaldırılması üçün mexanizmlərin həyata AJAX-scripts çox SMS de-fakto oldu.

AJAX forması vasitəsilə normal məlumatların ötürülməsi (adı və parol daxil olmaq üçün) bir şərti şəkildə yarana bilər üçün:


Ad
Şifre:




Sign

Burada handler:

{) (ScfWelcomeGo fəaliyyət

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

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

}

Bu qonaq adı və şifrə doğrulamak üçün server ötürür. script istifadəçi cədvəldə məlumat aldı yoxlayır və müvafiq script səhifə haqqında mesaj gösteren əsasında cavab geri göndərir qeydiyyatdan keçmiş istifadəçilər üçün (hərəkət reallaşdıran), və ya hesabat ki, belə bir istifadəçi və qeydiyyatdan lazımdır.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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