कंप्यूटरप्रोग्रामिंग

अजाक्स - उदाहरण। अजाक्स लिपियों

नेटवर्क प्रोटोकॉल, अलग-अलग लिपियों के कॉल तंत्र, जानकारी के संचरण / स्वागत के माध्यम से पहुंच - इंटरनेट आगंतुक प्रत्येक संसाधन है कि एक नेटवर्क में होस्ट किया गया है की दृश्यता, और ब्राउज़र प्रदान करता है। एक अनूठा लिंक (डोमेन नाम, एक अद्वितीय नोड पता) - पृष्ठों उस साइट के के सेट, एक आम जड़ है।

कोई फर्क नहीं पड़ता संसाधन स्थिर या गतिशील यात्रा करने के लिए प्रतिक्रिया करता है एक प्रतिक्रिया उत्पन्न करता है। यहां तक कि अगर फार्म और पृष्ठों की सामग्री किसी भी स्थिति, संचार सर्वर अविभाज्य इकाई और ग्राहक (ब्राउज़र) पर निर्भर समाप्त एचटीएमएल कोडित दस्तावेज़, चित्र, स्टाइल शीट और अन्य फ़ाइलों को आवश्यक सामग्री और पर्यावरण है। अगर कुछ गलत है, ब्राउज़र को प्रदर्शित करता है कि सभी "प्रबंधित" है पार्स और निष्पादित मिलता है।

कई होनहार प्रौद्योगिकियों एक लंबे समय के लिए सामने आए, लेकिन अन्यायपूर्ण भूल गया है या ठीक से इस्तेमाल नहीं किया गया है। सबसे पहले AJAX (उदाहरण XMLHttpRequest ऑब्जेक्ट का उपयोग करें) कई साल पहले दिखाई दिया, लेकिन सफलता और प्रसिद्धि बहुत बाद में आया था।

सभी या केवल आपको क्या चाहिए

साइट के क्लासिक संस्करण में - नाम, IP पता और एक लिंक (सभी समानार्थी शब्द इंटरनेट अंतरिक्ष में एक ही बिंदु तय किया)। क्या यह मुख्य पृष्ठ के पीछे निहित - सोचा: अपने स्वयं की पहल पर एक आधुनिक "डिजाइनर" है, जो भी नहीं पूछा क्यों यह इतना है? क्यों साइट के मुख्य पृष्ठ जिसमें से आप किसी अन्य के लिए मिल सकता है? यह विकल्प - स्पष्ट रूप से नहीं आदर्श है, यह है विशिष्ट सामग्री और वास्तविक कार्यक्षमता।

सीधे शब्दों में कहें, अगर एक व्यक्ति एक दंत चिकित्सक की जरूरत है, यह एक विशेष उद्देश्य के लिए सही पता है, न कि शल्य चिकित्सा के लिए और परामर्श चिकित्सक के लिए पुस्तकालय के लिए नहीं रसोई में से। जगह है जहाँ यह एक निकला, वह देखता है, लेकिन पूर्ण में एक दंत चिकित्सा क्लिनिक प्राप्त नहीं होता है। सबसे अच्छा है कि एक आगंतुक उम्मीद कर सकते हैं - रजिस्ट्री और दिशा (सटीक पथ) डॉक्टर के पास। और स्थान (आगमन पर) पर एक चिकित्सक, और गंतव्य के रूप में बदल सकते हैं।

लेकिन यहाँ साइट आमतौर पर हमेशा पूर्ण गोला बारूद में लोड, कुछ भी लोड हो रहा है पर बदल जाता है, खाते में समय है कि किसी को आ गया है ले रही है ... लेकिन फिर भी इस मामले में जहां यह एक वास्तविक जीवन क्लिनिक, पहली बार जब आप एक नए ग्राहक की यात्रा के लिए पर्याप्त जानकारी पेज दे रहा है में है , संपर्क, और ... खिड़की रजिस्ट्री कि साइट पर जाने से बंद घंटे के दौरान किया गया था, के रूप में चिकित्सक द्वारा निर्धारित प्रदान किया जा सकता एक अस्थायी नियुक्ति एक अलग कार्यालय में किया जाता है, उपलब्ध नहीं है ...

इंटरनेट अंतरिक्ष में प्वाइंट

इंटरनेट अंतरिक्ष के संसाधन की क्लासिक प्रतिक्रिया - आगंतुक के अनुरोध पर, एक साइट पेज (आमतौर पर घर), और फिर अन्य जारी करने के लिए एक अनुरोध के जवाब में। साइट सर्वर भी नहीं सभी पीएचपी-फ़ाइलें पृष्ठों करते हैं, उनमें से कुछ AJAX अनुरोध करने के लिए :. प्रतिक्रिया प्राप्त करते हैं, प्रक्रिया और जानकारी भेजने के लिए कर सकते हैं छवियों, शैली, जावा स्क्रिप्ट कोड स्क्रिप्ट, पीएचपी, आदि शामिल हैं।

एक स्क्रिप्ट एक तस्वीर लिखें। लेकिन इंटरनेट अंतरिक्ष में नियंत्रण की बात करने के लिए हो रही है, यह निर्धारित करने के लिए जो तरीके और उसके कारण को संबोधित करने के लिए, कि सक्रिय है नाम, IP पता और कड़ी है असंभव है। नेटवर्क पर किसी भी आंदोलन मुख्य रूप से एक ब्राउज़र के माध्यम, लेकिन यह भी कार्रवाई की अन्य साइटों के माध्यम से विभिन्न मूल और गंतव्य के रोबोट के माध्यम से सॉफ्टवेयर में जगह लेता है,।

एक संदर्भ के साथ के माध्यम से क्या ब्राउज़र आगंतुक आया एक यात्रा जो आईपी पते, और कुकीज़ की उपस्थिति से: स्क्रिप्ट, नियंत्रण पाने, सही ढंग से ही पता कर सकते हैं। केवल उत्तरार्द्ध के रूप में मुख्य पृष्ठ के रूप में जानकारी प्रदान कर सकते हैं, लेकिन आगंतुक पहले से ही यहाँ किया गया है केवल यदि। अन्य सभी मामलों में यह सर्वर से केवल सामान्य प्रतिक्रिया उत्पन्न करने के लिए संभव है। AJAX-उदाहरण है कि इंटरनेट पर आसानी से मिल रहे हैं, ध्यान से इस्तेमाल किया जाना चाहिए। XMLHttpRequest ऑब्जेक्ट की (प्रयोग) को ट्रैक करने में त्रुटियाँ आसान नहीं है।

समग्र प्रतिक्रिया और निजी बातचीत

सर्वर से समग्र प्रतिक्रिया - एक आम पेज, क्या सूचकांक कहा जाता है के प्रमुख के रूप में भेजा, और यह एक साइट उपलब्ध अन्य पृष्ठों पर अपने लिंक के साथ अंतर पर है कि के साथ शुरू होता है। हालांकि, आगंतुक अन्य पन्नों के नाम जानता है, वे अपनी समझ में हैं एक नामित डेवलपर से कम महत्वपूर्ण नहीं किया जाएगा। समग्र डिजाइन और कार्यक्षमता है कि सभी आगंतुकों पर केंद्रित है: यहाँ क्लासिक मॉडल, सभी को एक बार है।

निजी बातचीत - आगंतुक के पिछले सत्र के एक निरंतरता। साइट पहले से ही जानते हैं कि वह क्या किया, कि वह में क्या पेज देखा गया था दिलचस्पी थी और उनकी स्मृति में डाल दिया, ब्राउज़र कुकी में कुछ लिखा था।

पोस्ट और प्राप्त: यह साइट डाउनलोड करने और उसके साथ काम करने के लिए सर्वर के लिए दो बुनियादी अनुरोध किया करते थे। क्वेरी परिणाम एक पूरे पृष्ठ है। वाले पृष्ठ पर, आगंतुक इन या अन्य घटनाओं है कि कुछ पृष्ठ तत्वों की कार्रवाई पर कॉन्फ़िगर किया गया है सक्रिय कर सकते हैं।

घटनाक्रम पृष्ठ तत्वों

एक पाठ क्षेत्र की सामग्री को लेने के लिए और लगता है कि यह एक आगंतुक लिखा - पृष्ठ तत्व जानकारी, अर्थ खोजने के लिए महत्वपूर्ण हो सकता है। घटना एक मेनू आइटम, चित्र, पाठ बॉक्स पर हो सकता है। किसी भी मामले में, जावास्क्रिप्ट समारोह चलाया जाएगा, जिसका उपयोग AJAX अनुरोध के रूप में इस प्रदर्शन कर सकते हैं:

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

इस प्रकार InitXML () फ़ंक्शन इस प्रकार परिभाषित किया गया है (चर वर scXHR समारोह के बाहर में वर्णित किया जा):

समारोह InitXML (scURL) {

scXHR = बातिल;

अगर (window.XMLHttpRequest)
{कोशिश
{ScXHR = नए XMLHttpRequest ();
} पकड़ने (ई) {}
} else
अगर (window.ActiveXObject)
{कोशिश
{ScXHR = नई ActiveXObject ( 'Msxml2.XMLHTTP');
} पकड़ने (ई)
{कोशिश
{ScXHR = नई ActiveXObject ( 'Microsoft.XMLHTTP');
} पकड़ने (ई) {}
}
}
अगर (scXHR)
{
scXHR.open ( 'प्राप्त', scURL);
scXHR.onreadystatechange = WaitReplySC;
scXHR.send (शून्य);
};
}

यह समारोह एक यूआरएल लेता है और यह के लिए एक अनुरोध आरंभ करता है। (इस मामले में - scSrvPhpWord.php, में साइट के रूट करने के लिए ../Mphp/ फ़ोल्डर रिश्तेदार स्थित) अतुल्यकालिक जवाब जैसे ही स्क्रिप्ट URL में निर्दिष्ट पूरा करेगा आ जाएगा, और WaitReplySC () फ़ंक्शन, जो सर्वर एक्सएमएल-प्रतिक्रिया के इनपुट को जाता है शुरू कर देंगे, शीर्षक और सामग्री भी शामिल है।

सर्वर प्रतिक्रिया

असल में सर्वर एक PHP स्क्रिप्ट है - एक प्रोग्राम है जो आवश्यक शर्तों की स्थापना के साथ शुरू होता है, आवश्यक सुविधाओं, पूर्व इलाज है, जो डेवलपर उद्देश्यों पर निर्भर करता है डाउनलोड:

नाम स्थान 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 :: रजिस्टर ();

का प्रतिनिधित्व एक निशान किसी भी त्रुटि का संकेत की शुरुआत, एक स्क्रिप्ट रोकने की अनुमति नहीं देतीं जब उपयोगकर्ता बंद लॉग करता है और मामले पाश प्रदर्शन पर एक समय सीमा निर्धारित करता है - 12 सेकंड। दस्तावेज़ों के लिए अगला लिंक लायब्रेरी PhpOffice \ PhpWord * .docx।

ऊपर AJAX-चुनौती दिखाया गया है ( '... cTask = GoPage' + 'और cOwnerCode =' + cOwnerCode + 'और cSessionCode =' + cSessionCode + 'और cActiveItem =' + cActiveItem) - चार Get-चर, नहीं हो सकता है जो उनकी वास्तविक उपलब्धता देखने चाहिए:

$ CTask = (isset ($ _ प्राप्त [ 'cTask']))? $ _GET [ 'cTask']: '';
$ COwnerCode = (isset ($ _ प्राप्त [ 'cOwnerCode']))? $ _GET [ 'cOwnerCode']: '';
$ CSessionCode = (isset ($ _ प्राप्त [ 'cSessionCode']))? $ _GET [ 'cSessionCode']: '';
$ CActiveItem = (isset ($ _ प्राप्त [ 'cActiveItem']))? $ _GET [ 'cActiveItem']: '';

प्रदर्शन करने के बाद प्रारंभिक कार्रवाई स्क्रिप्ट का फैसला करता है:

स्विच ($ cTask) {

मामले 'GoPage': // (इस प्रारंभिक डाउनलोड के दौरान एक चुनौती है या पृष्ठ को रीफ्रेश)

$ COwnerCode = 'cOwner';
$ CSessionCode = 'cSession';
$ CContents = 'cContents';
$ CStatus = 'cStatus';
$ CHTML = iconv ( 'UTF-8', 'CP1251', 'कोडिंग तत्व ");
$ CActiveItem = iconv ( 'UTF-8', 'CP1251', 'चर');

$ CReply = "scSrvRM | GoPage | सेट | {$ cOwnerCode}` {$ cSessionCode} | {$ cContents} `{$ cStatus} | {$ CHTML} | {$ cActiveItem}";

तोड़;

}

और स्क्रिप्ट के अंतिम भाग:

शीर्ष लेख ( "सामग्री प्रकार: text / xml; स्वीकार-charset = utf-8");
हैडर ( "कैश-नियंत्रण: नहीं कैश");
'' गूंज;
$ CReply = iconv ( 'CP1251', 'UTF-8', $ cReply); // 'UTF-8' में 'CP1251' से रूपांतरण
गूंज $ cReply;

ग्राहकों की प्रतिक्रिया हो रही है

पेज कि ब्राउज़र में लोड किया जाता है पर, यह पाया गया जैसे ही सर्वर एक प्रतिक्रिया तैयार करेंगे, यह समारोह WaitReplySC कार्रवाई की जाएगी कि:

ढंग से काम WaitReplySC () {

try {

अगर (scXHR.readyState == 4) {
अगर (scXHR.status == 200) {// प्रतिक्रिया प्रसंस्करण

वर TestReply = scXHR.responseText;

अगर ((TestReply.indexOf ( 'पार्स त्रुटि')> 0) ||
(TestReply.indexOf ( 'सूचना')> 0)) चेतावनी (scXHR.responseText);

वर CDATA = scXHR.responseText;
वर AData = cData.split ( '|');

वर cCmd = AData [1];
वर CPOs = AData [2];
वर aOwnerSession = AData [3] .split ( ' `');
cOwnerCode = aOwnerSession [0];
वर cSessionCode = aOwnerSession [1];
वर aContentStatus = AData [4] .split ( ' `');
वर cContent = aContentStatus [0];
वर cStatus = aContentStatus [1];
वर cHTML = AData [5]; // सर्वर एचटीएमएल-प्रतिक्रिया
वर cVarValues = AData [6]; // फार्म के लिए चर

स्विच (cCmd) {

मामले 'GoPage':

वर dTestLine = document.getElementById ( 'scTestLine');
dTestLine.innerHTML = 'उत्तर = [' + cOwnerCode + ','
+ CSessionCode + ','
+ CContent + ','
+ CStatus + ','
+ CHTML + ','
+ CVarValues + ']';

तोड़;
}

} Else {
। Document.getElementById ( 'scAreaStatus') innerHTML = "त्रुटि !!!";
}
}
} पकड़ने (ई) {}

}

इस प्रकार, AJAX-उदाहरण का उपयोग करते हुए, पेज ब्राउज़र में लोड किया जाता है (scTestLine तत्व में) प्राप्त:

उत्तर = [cOwner, cSession, cContents, cStatus, तत्वों चर मान एन्कोडिंग]

कोड, jQuery और वर्डप्रेस के प्रतिनिधित्व पर

ब्राउज़र और स्क्रिप्ट टेक्स्ट UTF-8 में लिखा, के लिए उपयोग iconv () फ़ंक्शन में पृष्ठ रूसी वर्ण परिवर्तित करने के लिए। कंकाल कोड के प्रतिनिधित्व वाले के बाकी बहुत सरल है और आसानी से किसी विशेष प्रयोजन के लिए दोहराया जा सकता है।

विषय केवल प्रसंस्करण सर्वर प्रतिक्रिया WaitReplySC () फ़ंक्शन और वास्तविक स्क्रिप्ट कोड है कि प्रतिक्रिया उत्पन्न में बदलने के लिए। कॉल InitXML समारोह (एक विशेष scURL और यह करने के लिए प्रासंगिक डेटा के लिए) पृष्ठ तत्वों पर ईवेंट हैंडलर्स में रखा जाता है और इन तत्वों में से अर्थ को परिभाषित कर रहे हैं।

की प्रस्तुत उदाहरण AJAX उन्मुख करने के लिए "मैन्युअल" प्रौद्योगिकी के उपयोग।

विभिन्न सामग्री प्रबंधन प्रणाली में (एसएमएस) क्षमताओं अलग अलग तरीकों से वर्णित हैं, एक नियम के रूप में, एक विशेष विशिष्टता की शैली में। jQuery.get () और jQuery.post (): उदाहरण के लिए, jQuery AJAX कॉल संभावनाओं jQuery.ajax () या तो एक उच्च स्तर में कार्य महसूस कर रहे हैं। पैरामीटर यूआरएल और सेटिंग फैलता है (कुंजी + मान जोड़ों का सेट)। jQuery.ajax () रिटर्न XMLHttpRequest वस्तु।

JQuery प्रस्तावित समारोह-तरीकों के परिणामों को ट्रैक करने के लिए: XHR.done () - अनुरोध के सफल समापन। XHR.fail () - त्रुटि प्रबंधन।

jqXHR.done () विधि yavlyatsya विकल्प हैंडलर AJAX अनुरोध के सफल समापन। पुरानी jqXHR.success () विधि बदल देता है।

इसी तरह, Wordpress AJAX प्रौद्योगिकी पर का उपयोग। यहाँ, सब कुछ सामग्री प्रबंधन प्रणाली में खुद को प्रत्यारोपित किया है, आप केवल प्रस्तावित संरचना का उपयोग करने की जरूरत है। दस्तावेजों एक विस्तृत वर्णन प्रदान की है।

अजाक्स अनुप्रयोग, चुने हुए उपकरणों पर अनिवार्य रूप से निर्भर करता है, हालांकि मैनुअल संस्करण समानांतर में या चयनित सामग्री प्रबंधन प्रणाली, एक या jQuery का एक और संस्करण के अलावा इस्तेमाल किया जा सकता। बाद के अपने दम पर काम करने के लिए है, क्योंकि लगभग सभी आधुनिक एसएमएस इसका इस्तेमाल उपयोगी है, लेकिन अपनी ही तरह से प्रत्येक।

आवेदन की एक उत्कृष्ट उदाहरण

AJAX का सरल और घातीय उपयोग - गाड़ी ऑनलाइन स्टोर। दुकान पृष्ठों हमेशा माल से भर रहे हैं, हालांकि वास्तव में वे नहीं हो सकता। आम तौर पर फिर से लोड करने के लिए काफी समय लगता है, लेकिन जब एक आगंतुक एक उत्पाद का चयन करता है, वह हमेशा बस उस पर दे सकते हैं या चुने हुए एक बदलने के लिए, उस साइट हमेशा जल्दी प्रदर्शित करने के लिए वांछनीय है सकते हैं।

आमतौर पर यह टोकरी और चयनित आइटम के आसपास के निशान के रूप में महसूस किया है। इन तत्वों को AJAX के गतिशील परिवर्तन के उपयोग के बिना समस्याग्रस्त है।

AJAX-स्क्रिप्ट को जोड़ने / आपके कार्ट में आइटम हटाने के लिए तंत्र को लागू, कई एसएमएस में वास्तविक बन गया।

के लिए AJAX के फार्म के माध्यम से सामान्य आंकड़ा संचरण एक पारंपरिक तरीके से गठन किया जा सकता (नाम और पासवर्ड डाले के लिए):

<फार्म name = 'fWelcome' कार्रवाई = 'index.php' विधि = 'पोस्ट'>

का नाम:
पासवर्ड:
<इनपुट प्रकार = 'पाठ' name = 'CNAME' मान = '' आईडी = 'scWelcomeField' title = 'नाम' शैली = 'छोड़ दिया: 56px; शीर्ष: 8px; '>
<इनपुट प्रकार = 'पाठ' name = 'cPass' मान = '' आईडी = 'scWelcomeField' title = 'पासवर्ड' शैली = 'छोड़ दिया: 56px; शीर्ष: 31px; '>


साइन

यहाँ हैंडलर:

ढंग से काम scfWelcomeGo () {

वर CNAME = document.fWelcome.cName.value;
वर cPass = document.fWelcome.cPass.value;

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

}

यह सर्वर से पहुंचाता आगंतुक नाम और पासवर्ड मान्य करने के लिए। स्क्रिप्ट उपयोगकर्ता तालिका में प्राप्त जानकारी की जाँच करता है, और आधार प्रासंगिक स्क्रिप्ट पृष्ठ पर एक संदेश प्रदर्शित करता है जिनमें से पर एक प्रतिक्रिया वापस भेजता है कि कोई भी इस तरह के उपयोगकर्ता पंजीकृत उपयोगकर्ता के लिए (एक कार्रवाई करता है), या रिपोर्टों, और पंजीकृत होना आवश्यक है।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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