ՀամակարգիչներԾրագրավորում

Ajax - օրինակները. ajax սցենարներ

Համացանցի միջոցով այցելուն տեսանելիության յուրաքանչյուր ռեսուրս, որը հյուրընկալվել է ցանցում, եւ browser - ի միջոցով մատչելիություն ցանցային արձանագրությունների, Զանգի մեխանիզմների առանձին սցենարներ, Փոխանցման տուփ / ընդունելության տեղեկատվության. Էջերի, որոնք կազմում են կայքը, ունի ընդհանուր արմատ մի եզակի կապը (դոմեյն անուն, եզակի հանգույցի հասցեն).

Անկախ նրանից, թե այդ ռեսուրսը արձագանքում է այցելել statically կամ դինամիկ առաջացնում է պատասխան: Եթե նույնիսկ ձեւը եւ բովանդակությունը էջերում կախված է ցանկացած պայմաններում, անբաժանելի միավորի կապի սերվերի եւ հաճախորդի (բրաուզերի) է ավարտված HTML կոդավորված փաստաթուղթ, պատկերների, ոճի թերթ, եւ այլ ֆայլեր անհրաժեշտ բովանդակության եւ շրջակա միջավայրի. Եթե ինչ-որ բան սխալ է, որ բրաուզերը ցուցադրում այն ամենը, ինչ «հաջողվել» է ստանալ վերլուծել եւ կատարել:

Շատ խոստումնալից տեխնոլոգիաներ են ի հայտ է երկար ժամանակ, բայց արդեն անարդարացիորեն մոռացված կամ չեն օգտագործվում ինչպես հարկն է: Առաջին AJAX (օրինակ օգտագործել XMLHttpRequest օբյեկտը) հայտնվել է մի քանի տարի առաջ, սակայն հաջողությունը եւ համբավը եկավ շատ ավելի ուշ:

Բոլոր կամ միայն այն, ինչ դուք պետք է

Ի դասական տարբերակի կայքում անունով, որ IP- հասցեով եւ հղում (բոլորը հոմանիշներ նշանակել է այդ նույն կետին ինտերնետ-տարածության): Ինչ է ընկած ետեւում այս հիմնական էջում - մտածեց իրենց սեփական նախաձեռնությամբ է ժամանակակից «դիզայներ», որը նույնիսկ չի էլ հարցնում, թե ինչու է այդպես: Թե ինչու է կայքը հիմնական էջ է, որը դուք կարող եք ստանալ որեւէ այլ. Այս տարբերակը, հստակորեն չի իդեալական, դա այն կոնկրետ բովանդակության եւ փաստացի ֆունկցիոնալությունը:

Պարզապես, եթե անձը պետք է ատամնաբույժի, դա ճիշտ հասցեն, կոնկրետ նպատակի համար, այլ ոչ թե խոհանոցում վիրաբուժության եւ ոչ թե գրադարան խորհրդակցության թերապեւտ: Այն վայրում, որտեղ այս մեկը պարզվեց, որ նա տեսնում է, բայց չի ստանում ատամնաբուժարան ամբողջությամբ. Լավագույնը, որ կարող է ակնկալել մի այցելու - ի գրանցամատյանը եւ ուղղությունը (ճշգրիտ ճանապարհը) բժշկի. Եւ տեղում (ժամանելիս) կարող է փոխվել բժշկի, եւ նպատակակետ:

Բայց ահա կայքը սովորաբար միշտ բեռնված է ամբողջ զինամթերք, ոչինչ չի փոխում վրա բեռնման, հաշվի առնելով այն ժամանակը, որ ինչ - որ մեկը եկել ... Բայց նույնիսկ այն դեպքում, երբ դա իրական կյանքն կլինիկա, որ առաջին անգամ եք այցելել նոր հաճախորդին տալ բավարար տեղեկատվական էջը , շփումները, եւ ... պատուհանը ռեեստրի կարող է տրամադրվել, որ այցը կայքում արվել է ոչ աշխատանքային ժամերին, սահմանված կարգով բժշկի հասանելի չէ, ժամանակավոր նշանակումը կատարվում է տարբեր գրասենյակում ...

Բանն այն է, որ ինտերնետ տարածության

Ի դասական արձագանքը ռեսուրսի ինտերնետ տարածության ի պատասխան խնդրանքի թողարկելու կայքը էջը (սովորաբար տուն), եւ ապա մյուս, խնդրանքով այցելուի: Կայքի սերվերը նույնպես պարունակում պատկերները, ոճերի, JavaScript կոդը սցենարներ, PHP, եւ այլն, ոչ բոլոր PHP-ֆայլերը անել էջերը, նրանցից ոմանք կարող են արձագանքել AJAX հարցումներին :. ստանալու, գործընթացը եւ ուղարկել տեղեկատվություն:

Գրել է մի սցենար մի շառաչ. Բայց ստանում է կետի վերահսկողության ինտերնետային տարածության, դա անհնար է որոշել, թե ով եւ ինչ պատճառներով հասցեագրված, որ ակտիվացված է այն անունը, որ IP հասցե եւ հղում. Ցանկացած շարժում է ցանցի տեղի է ունենում ծրագրային, հիմնականում միջոցով բրաուզերի, այլեւ միջոցով ռոբոտների տարբեր ծագման եւ նպատակակետ միջոցով այլ կայքեր գործողության.

Script, ձեռք բերել վերահսկողություն, կարող է ճշգրտորեն, թե միայն: այցը միջոցով, թե ինչ բրաուզերը այցելուն եկավ, մի հղում, որը IP տրվել, եւ ներկայությամբ բլիթները: Միայն վերջինս կարող է տրամադրել տեղեկատվություն, ինչպես նաեւ ձեւավորել հիմնական էջը, բայց միայն այն դեպքում, եթե այցելուն արդեն եղել են այստեղ: Մյուս բոլոր դեպքերում դա հնարավոր է առաջացնում միայն ընդհանուր պատասխան է սերվերի. AJAX-օրինակները, որոնք հեշտ է գտնել ինտերնետում, պետք է օգտագործվի զգուշորեն: Սխալները (օգտագործման), որ XMLHttpRequest օբյեկտի հետեւելու հեշտ չէ.

Ընդհանուր առմամբ պատասխանը եւ մասնավոր երկխոսությունը

Ընդհանուր առմամբ, հաստատել սերվերի - մի ընդհանուր էջի, անդրադարձել է նաեւ տնօրենի, ինչ կոչվում է ցուցանիշը, եւ այն սկսվում է մի վայրում, որը դեմ է իր հղումներ դեպի այլ էջերում առկա. Սակայն, եթե այցելուն գիտի անունները այլ էջերում, նրանք իր հասկացողությամբ չի լինի ոչ պակաս կարեւոր է, քան մեկ նշանակված մշակողի. Այստեղ է դասական մոդելը, բոլորը միանգամից վրա `ընդհանուր առմամբ նախագծում եւ ֆունկցիոնալությունը, որը կենտրոնանում է բոլոր այցելուների համար:

Անձնական երկխոսությունը - ի շարունակությունն է նախորդ նստաշրջանի ընթացքում այցելուի: Կայքն արդեն գիտի, թե ինչ արեց, որ նա եղել է հետաքրքրում, թե ինչ դիտվել էջը եւ դրեց այն իր հիշողության մեջ, գրել ինչ - որ բան բրաուզերի բլիթները:

Այն օգտագործվում է երկու հիմնական խնդրանքը սերվերի ներբեռնել կայքը եւ աշխատել նրա հետ: Ամսաթիվ եւ. հարցում արդյունքն այն է, մի ամբողջ էջ: Ին արդյունքում էջում, այցելուն կարող է ակտիվացնել այս կամ այլ միջոցառումներ, որոնք կազմաձեւված են գործողության որոշակի էջում տարրերի.

Միջոցառումներ էջ տարրեր

էջ տարրը կարող է լինել բանալին գտնել տեղեկատվություն, իմաստ - վերցնել բովանդակությունը տեքստային դաշտ, եւ գտնում են, որ դա գրել է այցելուին: Միջոցառումը կարող է առաջանալ մի ընտրացանկի տարրը, նկարի, տեքստում տուփի. Ցանկացած դեպքում, JavaScript ֆունկցիան կլինի առաջադրվելու, որը կարող է կատարել AJAX-խնդրանքը հետեւյալն է.

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

Այսպիսով, InitXML () ֆունկցիան սահմանվում են հետեւյալ կերպ (փոփոխական Var scXHR է բնութագրել դուրս ֆունկցիայի):

ֆունկցիա InitXML (scURL) {

scXHR = Null.

եթե (window.XMLHttpRequest)
{փորձեք
{ScXHR = նոր XMLHttpRequest ();
} Catch (ե) {}
} ուրիշ
եթե (window.ActiveXObject)
{փորձեք
{ScXHR = Նոր ActiveXObject ( 'Msxml2.XMLHTTP');
} Catch (ե)
{փորձեք
{ScXHR = Նոր ActiveXObject ( 'Microsoft.XMLHTTP');
} Catch (ե) {}
}
}
եթե (scXHR)
{
scXHR.open ( «ՍՏԱՆԱԼ ', scURL);
scXHR.onreadystatechange = WaitReplySC.
scXHR.send (Null);
};
}

Այս ֆունկցիան տեւում է URL- ը եւ նախաձեռնում խնդրանքը դրա համար: Asynchronous Պատասխանը կգա շուտ կկատարի սցենար նշված է հղում (այս դեպքում `scSrvPhpWord.php, որը գտնվում է ../Mphp/ թղթապանակի հարաբերական արմատին կայքում), եւ կսկսվի WaitReplySC () ֆունկցիան, որը գնում է մուտքային սերվերի XML-պատասխան, այդ թվում `անվանումը եւ բովանդակությունը.

սերվերի պատասխանը

Իրականում սերվերը PHP-script - մի ծրագիր, որը սկսվում է տեղադրման էական պայմանների, բեռնել անհրաժեշտ հարմարությունները, նախընտրական բուժում, որը կախված է մշակողի նպատակներով:

Անվանատարածք PhpOffice \ PhpWord.

ini_set ( 'display_errors », 1),
error_reporting (E_ALL ^ E_NOTICE).

ignore_user_abort (ճիշտ է);
set_time_limit (12);

օգտագործել PhpOffice \ PhpWord \ MphpObj \ scDocuments.

require_once «PhpOffice / PhpWord / Autoloader.php ';
\ PhpOffice \ PhpWord \ Autoloader :: ռեգիստր ();

Ներկայացվող սկիզբը նշանների նշելով, որեւէ սխալներ, արգելում կանգնեցնում է մի սցենար, երբ օգտագործողը տեղեկամատյանները դուրս եւ սահմանում է սահմանված ժամկետից իրականացնող գործի LOOP - 12 վայրկյան: Հաջորդ հղում գրադարան PhpOffice \ PhpWord համար փաստաթղթեր * .docx:

Ինչպես ցուցադրված է վերեւում AJAX-մարտահրավեր ( '... cTask = GoPage' + '& cOwnerCode =' + cOwnerCode + '& cSessionCode =' + cSessionCode + '& cActiveItem =' + cActiveItem) - ի չորս ստանալ, փոփոխականների, որը չի կարող լինել պետք է ստուգել իրենց փաստացի առկայությունը:

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

Կատարելուց հետո նախապատրաստական ակցիան սցենար է որոշում:

անջատիչ ($ cTask) {

գործը GoPage »: // (սա մարտահրավեր ընթացքում նախնական ներբեռնման կամ թարմացնել էջը)

$ COwnerCode = 'cOwner';
$ CSessionCode = 'cSession';
$ CContents = 'cContents';
$ CStatus = 'cStatus';
$ Chtml = iconv ( 'UTF-8 »,« cp1251' coding տարրը ");
$ CActiveItem = iconv ( 'UTF-8 »,« cp1251', 'փոփոխականների');

$ CReply = "scSrvRM | GoPage | սահմանել | {$ cOwnerCode}` {$ cSessionCode} | {$ cContents} `{$ cStatus} | {$ chtml} | {$ cActiveItem}».

կոտրել;

}

եւ եզրափակիչ մասն է սցենարի:

header ( «Բովանդակություն-Type: տեքստային / XML, ընդունում-կոդավորում = UTF-8");
header ( «Cache-Control: ոչ-cache");
echo '';
$ CReply = iconv ( 'cp1251', 'UTF-8, $ cReply) // դարձի է «cp1251 'եւ' UTF-8 '
Էխո $ cReply.

Getting հաճախորդների պատասխան

Ին էջում, որը բեռնված է բրաուզերի, պարզվել է, որ շուտով, քանի որ սերվերը կպատրաստի պատասխան, ապա դա կարող է մշակվում ֆունկցիան WaitReplySC:

գործելու WaitReplySC () {

փորձեք {

եթե (scXHR.readyState == 4) {
եթե (scXHR.status == 200) {// պատասխանը մշակում

var TestReply = scXHR.responseText.

եթե ((TestReply.indexOf ( «Վերլուծման սխալ ')> 0) ||
(TestReply.indexOf ( 'ծանուցում')> 0)) զգոն (scXHR.responseText);

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

var cCmd = adata [1].
var cPos = adata [2].
var aOwnerSession = adata [3] .Պառակտում ( ' `');
cOwnerCode = aOwnerSession [0];
var cSessionCode = aOwnerSession [1].
var aContentStatus = adata [4] .Պառակտում ( ' `');
var cContent = aContentStatus [0];
var cStatus = aContentStatus [1].
var chtml = adata [5]. // սերվերի HTML պատասխան
Var cVarValues = adata [6]. // փոփոխականների համար ձեւերի

անջատիչ (cCmd) {

գործը GoPage »:

var dTestLine = փաստաթուղթ.ստանալՏարրԸստԻնքնության ( 'scTestLine');
dTestLine.innerHTML = 'Պատասխանել = [' + cOwnerCode + ','
+ CSessionCode + ','
+ CContent + ','
+ CStatus + ','
+ Chtml + ','
+ CVarValues + ']';

կոտրել;
}

} Այլ {
. Փաստաթուղթ.ստանալՏարրԸստԻնքնության ( 'scAreaStatus') innerHTML = "Սխալ !!!».
}
}
} Catch (ե) {}

}

Այսպիսով, օգտագործելով Ajax-օրինակները, էջը բեռնված է բրաուզերում ձեռք բերել (ի scTestLine տարր):

Պատասխանել = [cOwner, cSession, cContents, cStatus, տարրեր կոդավորում փոփոխական արժեքները]

Ին ներկայացուցչության կոդը, jQuery եւ WordPress

Էջ է բրաուզերի եւ սցենարի տեքստը գրված են UTF-8, օգտագործման համար iconv () ֆունկցիայի է փոխարկել ռուսական նիշ. Մնացած է կմախքի ի դեմս օրենսգրքի շատ պարզ է եւ կարող է հեշտությամբ կրկնվել որեւէ կոնկրետ նպատակի համար.

Ենթակա է փոփոխման միայն այն մշակման սերվերի պատասխան WaitReplySC () ֆունկցիայի եւ փաստացի սցենարի կոդը, որը առաջացնում է պատասխան: Կոչ է անում InitXML գործառույթը (համար որոշակի scURL եւ համապատասխան տվյալների այն), որոնք տեղադրվում են միջոցառման handlers էջում տարրերի եւ սահմանել իմաստը այդ տարրերի.

Ներկայացված օրինակները AJAX-կողմնորոշված "Manual" տեխնոլոգիայի օգտագործումը:

Տարբեր բովանդակության կառավարման համակարգի (SMS) կարողությունները նկարագրված են տարբեր ձեւերով, որպես կանոն, ի ոճով մի կոնկրետ որոշակի առանձնահատկություններ: Օրինակ, jQuery AJAX զանգերի հնարավորությունները, որոնք իրականացվում jQuery.ajax () գործում է կամ ավելի բարձր մակարդակի վրա: jQuery.get () եւ jQuery.post (). Պարամետր, որը փոխանցվում URL եւ պարամետրերը (շարք առանցքային + արժեքի զույգերով): jQuery.ajax () վերադարձնում XMLHttpRequest-օբյեկտ:

JQuery է հետեւել արդյունքները առաջարկվող ֆունկցիան մեթոդների: XHR.done () - ի հաջող ավարտը խնդրանքով: XHR.fail () - սխալ բեռնաթափման.

jqXHR.done () մեթոդը yavlyatsya այլընտրանքային handler հաջող ավարտը AJAX-խնդրանքով. Փոխարինում հնացած jqXHR.success () մեթոդը:

Նմանապես, օգտագործումը վրա Վորդպրես AJAX տեխնոլոգիաների. Այստեղ, ամեն ինչ փոխպատվաստված իրեն է բովանդակության կառավարման համակարգի, դուք միայն պետք է օգտագործել առաջարկվող կառուցվածքը: Այն փաստաթղթերը տրամադրել մանրամասն նկարագրությունը:

AJAX Դիմում կախված էապես է ընտրված գործիքների, թեեւ ձեռնարկը տարբերակը կարող է օգտագործվել զուգահեռ կամ ի լրումն, ընտրված բովանդակության կառավարման համակարգի, մեկ կամ մեկ այլ տարբերակի jQuery. Վերջինս օգտակար է աշխատել իրենց սեփական, քանի որ գրեթե բոլոր ժամանակակից SMS օգտագործել այն, սակայն յուրաքանչյուրը իր սեփական ճանապարհով.

Դասական օրինակ է դիմումի

Պարզ եւ էքսպոնենտալը օգտագործման AJAX - Զամբյուղը օնլայն խանութ. խանութ էջերը միշտ լցված ապրանքների, թեեւ իրականում դրանք չեն կարող լինել: Վերաբեռնումը սովորաբար տեւում է զգալի ժամանակ, բայց երբ այցելուն ընտրում է ապրանքը, նա կարող է միշտ էլ պարզապես հրաժարվել է նրա վրա, կամ փոխել ընտրված մեկը, որ կայքը միշտ ցանկալի է դրսեւորել արագ.

Սովորաբար դա իրականացվում է ձեւով զամբյուղներ եւ նշանների շուրջ ընտրված տարրերից. Առանց օգտագործման AJAX դինամիկ փոփոխությունների այդ տարրերի խնդրահարույց է:

AJAX-սցենարներ, որոնք իրականացնում են մեխանիզմներ են ավելացնել / հեռացնել տարրեր ձեր զամբյուղի մեջ, դարձավ դե ֆակտո բազմաթիվ SMS- ի.

Նորմալ տվյալների փոխանցման միջոցով AJAX ձեւով կարող է ձեւավորվել մեկ պայմանական եղանակով (մտնելու համար անունը եւ գաղտնաբառը):


անվանումը:
Գաղտնաբառ:




Գրանցվել

Այստեղ handler:

գործելու scfWelcomeGo () {

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

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

}

Այն փոխանցում է սերվերի վավերացնել այցելուի անունը եւ գաղտնաբառը. Սցենարը ստուգում է ստացված տեղեկությունը, որ անձնագիրը սեղանին, եւ ուղարկում ետ մի պատասխան վրա, որոնց հիման վրա համապատասխան սցենար ցուցադրում է մի հաղորդագրություն էջում (կատարում է որեւէ գործողություն) գրանցված օգտվողների, կամ գրում է, որ ոչ մի նման օգտվողին, եւ պետք է գրանցվել:

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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