पोस्टबैक क्या है?


142

मैं वेब विकास में अपना रास्ता बना रहा हूं और पोस्टबैक शब्द को चारों ओर फेंक दिया है। एक गैर-वेब आधारित पृष्ठभूमि से आने वाले, एक नए वेब डेवलपर को पोस्टबैक के बारे में क्या पता होना चाहिए? (अर्थात वे क्या हैं और कब उत्पन्न होते हैं?)

वेब दुनिया में एक नौसिखिया की मदद करने के लिए आपके द्वारा साझा की जाने वाली किसी भी अधिक जानकारी को पोस्टबैक से अवगत कराना सबसे अधिक सराहा जाएगा।

जवाबों:


178

निम्नलिखित ASP.Net के लिए शुरुआती के उद्देश्य से है ...

यह कब होता है?

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

क्या होता है?

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

क्यों होता है?

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

एक शुरुआत के लिए कुछ बातें ध्यान दें ...

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

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

नोट पोस्टबैक का उपयोग सभी .NET प्लेटफॉर्म पर किया जाता है, न कि ASP.NET
JNF

1
"उपयोगकर्ता की प्रतिक्रिया को संसाधित करने के लिए, एप्लिकेशन स्थिति को बदलने या किसी भिन्न पृष्ठ पर जाने के लिए, आपको वेब सर्वर पर निष्पादित करने के लिए कुछ कोड प्राप्त करने की आवश्यकता होती है।" यह थोड़ा भ्रामक है। आपको इन चीजों को करने के लिए हमेशा 'कोड वेब सर्वर पर निष्पादित करने की आवश्यकता नहीं है । जब संभव हो, तो क्लाइंट पर उपयोगकर्ता इनपुट को संसाधित करना बेहतर हो सकता है। पश्च-पीठ के बारे में जानने के लिए सबसे महत्वपूर्ण चीजों में से एक है कि उन्हें कैसे करना है / नहीं ; अर्थात्, जब ग्राहक-पक्ष या अजाक्स, आदि के माध्यम से चीजों की देखभाल करने के लिए
हॉकआई पार्कर

1
@HawkeyeParker सहमत हैं। मैंने यह वापस तब लिखा जब मुझे पता था कि वेब फॉर्म आर्किटेक्चर है। चीजें निश्चित रूप से एक लंबा सफर तय किया है! मेरे सभी स्पष्टीकरण निश्चित रूप से अजाक्स को ध्यान में नहीं रखते हैं।
एंडी मैकक्लोड सामान

27

से विकिपीडिया :

पोस्टबैक एक इंटरेक्टिव वेबपेज द्वारा की जाने वाली एक क्रिया है, जब कुछ जानकारी को संसाधित करने के लिए पूरे पृष्ठ और उसकी सामग्री को सर्वर पर भेजा जाता है और फिर, सर्वर उसी पृष्ठ को वापस ब्राउज़र पर पोस्ट करता है।


@ जाल: आपको नहीं लगता कि यह तभी होगा जब कुछ सत्यापन त्रुटियां होंगी ताकि परिणाम के रूप में उसी पृष्ठ को प्रस्तुत किया जा सके।
शिरगिल फरहान

21

पोस्टबैक तब होता है जब कोई वेबपृष्ठ अपना डेटा वापस उसी स्क्रिप्ट / dll / जो भी पृष्ठ में पहले उत्पन्न करता है, पोस्ट करता है।

C # (asp.net) में उदाहरण

...

if (!IsPostback)
   // generate form
else
   process submitted data;

20

दी गई परिभाषाओं पर विस्तार करते हुए, एक वेब-डेवलपर के रूप में आपके लिए सबसे महत्वपूर्ण बात यह जानना जरूरी है कि पोस्टबैक के बीच NO STATE IS SAVED है। राज्य को बनाए रखने के तरीके हैं, जैसे ASP.NET में सत्र या Viewstate संग्रह, लेकिन अंगूठे के एक नियम के रूप में अपने कार्यक्रमों को लिखें जहां आप अपने पोस्टबैक पर अपने राज्य को फिर से बना सकते हैं।

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


2
अच्छे से कहा। सत्र और व्यूस्टेट के अलावा कुछ भी नहीं बचा है
माइल्स

1
महान बिंदु! हां, यह निश्चित रूप से कुछ ऐसा लगता है जो क्लाइंट प्रोग्रामिंग डोमेन से आने के दौरान किसी के मस्तिष्क को लपेटने के लिए थोड़ा सा लेता है।
स्कॉट साद

10

वेब डेवलपमेंट में आमतौर पर html पेज होते हैं जो फॉर्म ( <form>टैग) को होल्ड करते हैं । यूआरएल के लिए फार्म पोस्ट। आप किसी भी url को पोस्ट करने के लिए दिए गए फॉर्म को सेट कर सकते हैं। एक पोस्टबैक है एक रूप पदों उसके अपने पेज / यूआरएल को वापस जब।

ASP.Net डेवलपर्स के लिए इस शब्द का विशेष महत्व है, क्योंकि यह प्राथमिक तंत्र है जो एक पृष्ठ के लिए बहुत व्यवहार करता है - विशेष रूप से 'इवेंट हैंडलिंग'। ASP.Net पेजों में एक सर्वर फॉर्म होता है जो लगभग हमेशा अपने आप में पोस्ट होता है, और ये पोस्ट पेज लाइफ़साइकल नामक किसी चीज़ के सर्वर पर निष्पादन को ट्रिगर करता है।


6

इस शब्द का उपयोग वेब एप्लिकेशन डेवलपमेंट में भी किया जाता है जब तृतीय पक्ष वेब-सेवा एपीआई के साथ बातचीत करता है

कई एपीआई को एक संवादात्मक और गैर-संवादात्मक एकीकरण दोनों की आवश्यकता होती है। आमतौर पर इंटरेक्टिव भाग को रीडायरेक्ट (साइट 1 उपयोगकर्ता को साइट 2 पर पुनर्निर्देशित करता है, जहां वे साइन इन करते हैं, और वापस रीडायरेक्ट किए जाते हैं) का उपयोग करके किया जाता है। गैर-संवादात्मक भाग एक 'पोस्टबैक', या साइट 2 के सर्वर से साइट 1 के सर्वर से एक HTTP पोस्ट का उपयोग करके किया जाता है।


5

जब कोई स्क्रिप्ट html फॉर्म बनाती है और उस फॉर्म की कार्रवाई http POSTs उसी फॉर्म में वापस आ जाती है।


4

पोस्टबैक अनिवार्य रूप से तब होता है जब कोई फॉर्म एक ही पेज या स्क्रिप्ट (.php आदि।) को सबमिट किया जाता है क्योंकि आप वर्तमान में डेटा को नए पेज पर भेजने के बजाय डेटा को प्रॉसेस करने में सफल होते हैं।

एक उदाहरण एक फोरम (viewpage.php) पर एक पृष्ठ हो सकता है, जहां आप एक टिप्पणी सबमिट करते हैं और इसे उसी पृष्ठ (viewpage.php) पर सबमिट किया जाता है और फिर आप इसे नई सामग्री जोड़कर देखेंगे।

देखें: http://en.wikipedia.org/wiki/Postback


3

पोस्ट बैक कुछ भी है जो क्लाइंट के वेब ब्राउज़र से पेज को सर्वर पर वापस धकेल देता है।

वहाँ बहुत सारी जानकारी है, पोस्टबैक के लिए Google खोजें।

अधिकांश समय, कोई भी एएसपी नियंत्रण एक पोस्ट बैक (बटन / लिंक क्लिक) का कारण होगा, लेकिन कुछ तब तक नहीं करते जब तक आप उन्हें (चेकबॉक्स / कॉम्बोबॉक्स) नहीं बताते।


3

पोस्टबैक HTML रूपों को संदर्भित करता है। HTML फॉर्म में 2 तरीके हैं: GET और POST। ये विधियाँ निर्धारित करती हैं कि प्रपत्र से सर्वर तक डेटा को किस प्रकार भेजा जाता है। पोस्टबैक सबमिट पेज पर वापस पोस्टिंग की कार्रवाई है। संक्षेप में, यह क्लाइंट से सर्वर तक, और फिर से वापस पूरा सर्किट बनाता है।


2

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

if(!ispostback)
{
 // do some task here
}
else
{
 //do another task here
}

http://happycodng.blogspot.in/2013/09/concept-of-postback-in.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.