ठीक है ... मैं सिर्फ एक शौकिया हूँ, इसलिए मुझे टाइपिंग में कोई अशुद्धियों को माफ कृपया लेकिन यह काम करता है: एक प्रारूप मैं एक <a>
तत्व में एक ajax कॉल के लिए उपयोग करते हैं:
<a href="javascript:" onclick="functionThatReallyCallsAjax()">
तो कि मेरे पास अधिक लचीलापन है (अगर मुझे AJAX भेजने से पहले कुछ जांचना है)।अब, एक ajax कॉल के लिए आप की जरूरत:
- क्या फ़ाइल
- फ़ाइल आप
- एक I/O त्रुटि होता है अगर
क्या करना है कहा जाता है से प्रतिक्रिया के साथ क्या करना है कॉल करने के लिए
तो हमारे पास यह कार्य है - मेरा नहीं, कहीं से हजारों लोगों के बीच छेड़छाड़ की गई - शायद यहां पर :) - और संभवत: अच्छी तरह से जाना जाता है, लेखक से मेरी माफ़ी, वह एक प्रतिभा है: यही वह है जिसे आप अजाक्स चीज़ के लिए कहते हैं, जहां ' यूआरएल 'वह फ़ाइल है जिसे आप' अजाक्स 'करना चाहते हैं,' सफलता 'फ़ंक्शन का नाम है जो परिणाम और त्रुटि से संबंधित है आईओ त्रुटियों से निपटने वाले फ़ंक्शन का नाम।
function doAjaxThing(url, success, error) {
var req = false;
try{
// most browsers
req = new XMLHttpRequest();
} catch (e){
// IE
try{
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
// try an older version
try{
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
return false;
}
}
}
if (!req) return false;
if (typeof success != 'function') success = function() {};
if (typeof error!= 'function') error = function() {};
req.onreadystatechange = function(){
if(req.readyState == 4) {
return req.status === 200 ?
success(req.responseText) : error(req.status);
}
}
req.open("GET", url, true);
req.send(null);
return req;
}
आप स्वाभाविक रूप से सफलता + त्रुटि कार्यों में शामिल हैं की आवश्यकता होगी:
function dealWithResponse(textFromURL)
{
//textFromURL is whatever, say, a PHP you called in the URL would 'echo'
}
function ohNo()
{
//stuff like URL not found, etc.
alert("I/O error");
}
और अब है कि आप उस के साथ सशस्त्र रहे हैं, यह कैसे आप वास्तविक कॉल समारोह के अंदर आप पर कहा जाता रचना है <a>
:
function functionThatReallyCallsAjax()
{
//there are probably many scenarios but by having this extra function,
//you can perform any processing you might need before the call
doAjaxThing("serverFile.php",dealWithResponse,ohNo);
}
एक परिदृश्य हो सकता है जब आप PHP तुम से पहले नहीं था करने के लिए एक चर पारित करने के लिए की जरूरत है। इस मामले में, कॉल बन जाएगा:
doAjaxThing("serverFile.php?parameter1=dogsRock",dealWithResponse,ohNo);
और अब न केवल आप PHP जे एस के लिए सामान भेजने के बाद, आप जे एस पीएचपी को भी भेज रहा है। Weeeee ...
अंतिम शब्द: AJAX एक भाषा नहीं है, यह एक जावास्क्रिप्ट 'चाल' है। आपको यह समझने की आवश्यकता नहीं है कि पहले 'doAjaxThing' फ़ंक्शन का उपयोग करने के लिए क्या किया जाता है, बस सुनिश्चित करें कि आप इसे ठीक से कॉल कर रहे हैं। एक बार सर्वर से प्रतिक्रिया मिलने पर यह स्वचालित रूप से 'सौदा WithResponse' फ़ंक्शन 'कॉल' करेगा। ध्यान दें कि जब तक प्रतिक्रिया आती है तब तक आप अपना व्यवसाय (एसिंक्रोनस - प्रक्रिया समय-बंधे नहीं) जारी रख सकते हैं - जो तब होता है जब 'डील विद रिस्पॉन्स' ट्रिगर हो जाता है -, पृष्ठ बंद होने और प्रतीक्षा (सिंक्रोनस-टाइम बंधे हुए) के विपरीत एक प्रतिक्रिया आता है। वह अजैक्स का जादू है (असिंक्रोनस जेवास्क्रिप्ट और एक्सएमएल)।
अपने मामले में आप गूंज ("सफलता") - या त्रुटि जोड़ना चाहते हैं! - PHP में, ताकि फ़ंक्शन 'dealWithResponse' जानता है कि उस जानकारी के आधार पर क्या करना है।
यह सब मुझे AJAX के बारे में पता है। उम्मीद है कि यह मदद करता है :)
deletePost() फ़ंक्शन – Phiter
'href = #' की शुरुआत पर रोकथाम जोड़ें और इसे ऑनक्लिक फ़ंक्शन के अंदर डिफ़ॉल्ट रूप से रोकें –