संगणकप्रोग्रामिंग

AJAX - उदाहरणे आहेत. AJAX स्क्रिप्ट

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

हरकत नाही संसाधन स्थिरपणे किंवा गतिकरित्या भेट प्रतिसाद एक प्रतिसाद मिळतो. फॉर्म आणि पृष्ठांची सामग्री कोणत्याही अटी, संवाद सर्व्हर च्या अविभाज्य युनिट आणि क्लाएंट (ब्राउझर) अवलंबून जरी पूर्ण HTML-कोड दस्तऐवज, प्रतिमा, शैली पत्रके, आणि इतर फाइल्स आवश्यक सामग्री आणि वातावरण आहे. काहीतरी चूक आहे, तर ब्राउझरच्या सर्व विश्लेषण आणि कार्यान्वित मिळविण्यासाठी "व्यवस्थापित" आहे दाखवतो.

अनेक सर्वांत तंत्रज्ञान वेळ उदय आहेत, पण अन्याय विसरला केले गेले आहे किंवा योग्यरित्या वापरले गेले नाही. प्रथम AJAX (उदाहरणे XMLHttp विनंतीला ऑब्जेक्ट वापरण्याची) अनेक वर्षांपूर्वी दिसू लागले, पण यश आणि प्रसिद्धी खूप नंतर आला.

सर्व किंवा आपल्याला हवे ते केवळ

साइट क्लासिक आवृत्ती मध्ये - नाव, IP पत्ता आणि एक दुवा (इंटरनेट जागेत एक समान मुद्दा designating सर्व प्रतिशब्द). काय हे मुख्य पृष्ठ मागे lies - विचार: स्वत: पुढाकार वर असे आहे का विचारल्याशिवाय नाही जे आधुनिक "डिझायनर",? का साइट आपण कोणत्याही इतर मिळवू शकता जे मुख्य पृष्ठ आहे? हा पर्याय - स्पष्टपणे आदर्श, तो आहे विशिष्ट सामग्री आणि प्रत्यक्ष कार्यक्षमता.

फक्त एक व्यक्ती एक दंतवैद्य आवश्यकता असल्यास, तो ऐवजी शस्त्रक्रिया नाही सल्ला थेरपिस्ट साठी लायब्ररी स्वयंपाकघर पेक्षा, एका विशिष्ट हेतूसाठी योग्य पत्ता आहे, ठेवले. हा एक बाहेर चालू ठिकाणी, तो पाहतो, पण पूर्ण एक दंत दवाखाना मिळत नाही. नोंदणी आणि दिशा (अचूक पथ) डॉक्टर - एक पाहुणा अपेक्षा करू शकता सर्वोत्तम. आणि स्पॉट (आगमन वर) वर एक डॉक्टर आणि गंतव्य म्हणून बदलू शकतात.

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

इंटरनेट जागेत पॉइंट

अभ्यागत विनंतीवर, एक साइट पृष्ठ (सहसा घरी), आणि नंतर इतर जारी करण्यासाठी विनंती प्रतिसाद - इंटरनेट जागा संसाधन क्लासिक प्रतिसाद. साइट सर्व्हर देखील प्रतिमा, शैली, JavaScript कोड स्क्रिप्ट, कृपया PHP, इ समाविष्टीत सर्व PHP-फाइल पृष्ठे करू, त्यांना काही प्राप्त, प्रक्रिया आणि माहिती पाठविण्यासाठी, AJAX विनंती :. प्रतिसाद देऊ शकता नाही.

स्क्रिप्ट एक स्नॅप लिहा. पण इंटरनेट जागा नियंत्रण बिंदू मिळत, तो उद्देशून काय कारण आणि, सक्रिय आहे नाव, IP पत्ता आणि दुवा आहे हे निर्धारित करणे शक्य नाही. नेटवर्कवर कोणत्याही चळवळ प्रामुख्याने एक ब्राउझर द्वारे, पण क्रिया इतर साइट विविध मूळ आणि गंतव्य च्या यंत्रमानव माध्यमातून, सॉफ्टवेअर मध्ये स्थान घेते.

संदर्भ, अभ्यागत काय ब्राउझर आले माध्यमातून एक भेट जे आयपी पत्ते, आणि कुकीज समोरुन: स्क्रिप्ट, नियंत्रण मिळवतात अचूकपणे फक्त माहित शकता. मुख्य पृष्ठ तयार करण्यासाठी म्हणून केवळ नंतरचे माहिती प्रदान करू शकता, पण पाहुणा आधीच येथे आहे तरच. इतर सर्व घटनांमध्ये सर्व्हर पासून फक्त सामान्य प्रतिसाद निर्माण करणे शक्य आहे. इंटरनेट वर शोधणे सोपे आहे की, AJAX-उदाहरणे, काळजीपूर्वक वापरले पाहिजे. ट्रॅक XMLHttp विनंतीला ऑब्जेक्ट (वापर) मध्ये चुका सोपे नाही आहे.

एकूणच प्रतिसाद आणि खाजगी संवाद

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

खाजगी संवाद - अभ्यागत मागील सत्र सुरू. साइट आधीपासूनच तो काय, त्याने, पृष्ठ पाहाल होते ते रस होता आणि त्याच्या स्मरणात ठेवू की ब्राउझर कुकीज मध्ये काहीतरी लिहिले माहीत आहे.

POST आणि मिळवा: साइट डाउनलोड आणि त्याला काम करण्यासाठी सर्व्हरला दोन मूलभूत विनंती वापरले. क्वेरी परिणाम संपूर्ण पृष्ठ आहे. परिणामी पृष्ठावर, अभ्यागत विशिष्ट पृष्ठ घटक क्रिया संरचीत आहेत की या किंवा इतर घटना कार्यान्वित करू शकता.

आगामी कार्यक्रम पृष्ठ घटक

मजकूर फील्ड सामुग्री घ्या आणि ते अभ्यागत लिहिले आहे की, शोधण्यासाठी - पृष्ठ घटक माहिती, अर्थ शोधण्यासाठी की असू शकते. कार्यक्रम मेनू आयटम, चित्र, मजकूर बॉक्स वर येऊ शकते. कोणत्याही परिस्थितीत, जावास्क्रिप्ट-कार्य खालीलप्रमाणे AJAX-विनंती करणे शक्य आहे, चालवा जाईल:

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

त्यामुळे InitXML () फंक्शन व्याख्या आहे खालीलप्रमाणे (चल var scXHR कार्य बाहेर वर्णन केले जाऊ):

कार्य InitXML (scURL) {

scXHR = निरर्थक;

तर (window.XMLHttpRequest)
{प्रयत्न
{ScXHR = नवीन XMLHttp विनंतीला ();
} कॅच (ई) {}
} आणखी
तर (window.ActiveXObject)
{प्रयत्न
{ScXHR = नवीन ActiveXObject ( 'Msxml2.XMLHTTP');
} कॅच (इ)
{प्रयत्न
{ScXHR = नवीन ActiveXObject ( 'Microsoft.XMLHTTP');
} कॅच (ई) {}
}
}
तर (scXHR)
{
scXHR.open ( '' 'पण, scURL);
scXHR.onreadystatechange = WaitReplySC;
scXHR.send (null);
};
}

हे कार्य एक URL घेते आणि तो एक विनंती सुरू करतो. समकालिक उत्तर URL मध्ये निर्दिष्ट स्क्रिप्ट पूर्ण करील (या प्रकरणात - साइट मूळ ../Mphp/ फोल्डर नातेवाईक स्थित scSrvPhpWord.php) म्हणून लवकरच होईल, आणि 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 ($ _ GET [ '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}";

खंडित;

}

आणि स्क्रिप्ट अंतिम भाग:

शीर्षलेख ( "सामग्री-प्रकार: मजकूर / एक्स एम एल; स्वीकारा-अक्षरसंच = UTF-8");
शीर्षलेख ( "कॅशे-नियंत्रण: नाही-cache");
echo '';
$ CReply = iconv ( 'CP1251', 'UTF-8', $ cReply); // 'UTF-8' मध्ये 'CP1251' पासून रूपांतरण
इको $ cReply;

ग्राहक प्रतिसाद मिळत

ब्राउझर मध्ये लोड केले जाते त्या पृष्ठावर, असे दिसून आले की सर्व्हर प्रतिसाद तयार होईल तितक्या लवकर, तो 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] .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]; // सर्व्हर HTML-प्रतिसाद
var cVarValues = aData [6]; // फॉर्म साठी चल

स्विच (cCmd) {

केस GoPage ':

var dTestLine = document.getElementById ( 'scTestLine');
dTestLine.innerHTML = 'प्रत्युत्तर द्या = [' + cOwnerCode + ','
+ CSessionCode + ','
+ CContent + ','
+ CStatus + ','
+ CHTML + ','
+ CVarValues + ']';

खंडित;
}

} जर {
. Document.getElementById ( 'scAreaStatus') innerHTML = "त्रुटी !!!";
}
}
} कॅच (ई) {}

}

त्यामुळे, AJAX-उदाहरणे वापरून, पृष्ठ ब्राउझर मध्ये लोड केले जाते (scTestLine घटक मध्ये) प्राप्त:

उत्तर द्या = [cOwner, cSession, cContents, cStatus, घटक चल मूल्ये एन्कोड]

कोड, स्टाफ सदस्य आणि वर्डप्रेस प्रतिनिधित्व रोजी

iconv वापर () फंक्शन ब्राउझर आणि UTF-8 मध्ये लिहिले स्क्रिप्ट मजकूर, पृष्ठ रशियन अक्षरे रूपांतरित करण्यात. कोड प्रतिनिधित्व इमारत उर्वरित अतिशय सोपे आहे आणि सहजपणे कोणत्याही विशिष्ट कारणासाठी पुन्हा पुन्हा जाऊ शकते.

फक्त प्रक्रिया सर्व्हर प्रतिसाद WaitReplySC () फंक्शन आणि प्रतिसाद मिळतो की प्रत्यक्ष स्क्रिप्ट कोड बदलत. कॉल InitXML कार्य (एका विशिष्ट scURL आणि संबंधित डेटा) पृष्ठ घटक कार्यक्रम हँडलर मध्ये ठेवलेल्या आणि या घटकांची अर्थ व्याख्या आहेत.

च्या सादर उदाहरणे, AJAX-देणारं "स्वयंसिद्ध" तंत्रज्ञानाचा वापर.

विविध सामग्री व्यवस्थापन प्रणाली (SMS) क्षमता वेगवेगळ्या प्रकारे, एक विशिष्ट विशिष्टता शैली वर्णन आहेत, एक नियम म्हणून. jQuery.get () आणि jQuery.post (): उदाहरणार्थ, स्टाफ सदस्य, AJAX कॉल शक्यता jQuery.ajax () एकतर एक उच्च पातळी फंक्शन्स लक्षात आहेत. घटक url आणि सेटिंग्ज (की + वॅ संच) प्रसारित केला जातो. jQuery.ajax () XMLHttp विनंतीला ऑब्जेक्ट परत.

JQuery प्रस्तावित कार्य-पद्धती परिणाम ट्रॅक: XHR.done () - विनंती यशस्वी रित्या पूर्ण. XHR.fail () - त्रुटी हाताळणी.

jqXHR.done () पद्धत yavlyatsya पर्यायी हँडलर AJAX-विनंती यशस्वी रित्या पूर्ण. जुने jqXHR.success () पद्धत बदलतो.

तसेच, वर्डप्रेस, AJAX-तंत्रज्ञान वर वापर. येथे, सर्वकाही सामग्री व्यवस्थापन प्रणाली मध्ये स्वतः रोपण आहे, आपण फक्त प्रस्तावित रचना वापर करणे आवश्यक आहे. दस्तऐवज तपशीलवार वर्णन प्रदान.

AJAX अर्ज समांतर किंवा निवडलेल्या सामग्री व्यवस्थापन प्रणाली, एक किंवा jQuery ची दुसरी आवृत्ती व्यतिरिक्त मॅन्युअल आवृत्ती वापरले जाऊ शकतो, निवड साधने वर मूलत अवलंबून असते. नंतरचे, त्यांच्या स्वत: च्या काम जवळजवळ सर्व आधुनिक एसएमएस ते वापरू कारण उपयुक्त आहे, परंतु त्याच्या स्वत: च्या मार्गाने प्रत्येक.

अनुप्रयोगाची क्लासिक उदाहरण

AJAX सोपे आणि घातांकी वापर - टाका ऑनलाइन स्टोअर. स्टोअर पाने नेहमी शकते प्रत्यक्षात ते नाही तरी, वस्तू भरले आहेत. सहसा पुन्ह दाखल करीत आहे बराच वेळ लागतो, पण एक अभ्यागत एक उत्पादन निवड, तेव्हा तो नेहमी फक्त त्याला देऊ शकता किंवा, निवडलेल्या एक बदलू साइटवर लवकर प्रदर्शित करण्यासाठी नेहमी घेणे हितावह आहे.

सहसा निवडलेले आयटम सुमारे टोपल्या आणि गुण स्वरूपात लक्षात आहे. AJAX डायनॅमिक बदल वापर या घटक न संशयास्पद आहे.

जोडा / आयटम आपल्या कार्ट काढण्यासाठी यंत्रणा अंमलबजावणी की, AJAX-स्क्रिप्ट, अनेक एसएमएस मध्ये वास्तविक झाले.

AJAX फॉर्म द्वारे सामान्य डेटा पाठवणे एक परंपरागत पद्धतीने तयार केले जाऊ शकते कारण (नाव आणि संकेतशब्द प्रविष्ट साठी):

<फॉर्म नाव = 'fWelcome' क्रिया = 'index.php' पद्धत = 'पोस्ट'>

नाव:
पासवर्ड:
<इनपुट प्रकार = 'मजकूर' नाव = 'CNAME' मूल्य = '' id = 'scWelcomeField' शीर्षक = 'नाव' शैली = 'सोडले: 56px; वरच्या: 8px; '>
<इनपुट प्रकार = 'मजकूर' नाव = 'cPass' मूल्य = '' id = 'scWelcomeField' शीर्षक = पासवर्ड 'शैली =' सोडले: 56px; वरच्या: 31px; '>


साइन इन करा

येथे हँडलर:

कार्य 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 mr.birmiss.com. Theme powered by WordPress.