2010-07-23 17 views
6

अगर GET अनुरोध के रूप मेंप्रदर्शन GET अनुरोध - जावास्क्रिप्ट

$(window).bind('beforeunload', function() { 
    // GET request 
}); 

अनुसरण करता है और पेज GET अनुरोध पूर्ण होने से पहले छोड़ दिया जाता है बना है,

होगा गंतव्य सर्वर अभी भी अनुरोध संसाधित करें? या यह किसी भी तरह गायब हो जाएगा?


मैं, लेकिन उपयोगकर्ता से बेकार एमएस चोरी के बिना पर "beforeunload" फायरिंग एक सर्वर डेटा भेजने के लिए चाहते हैं।

अगर कोई मेरी मदद कर सकता है तो यह बहुत उपयोगी होगा।

उत्तर

1

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

+0

मैं सहमत हूं, मैं ऐसा कुछ भी नहीं करूँगा जिसके अनुरोध पर भरोसा करने की आवश्यकता है। –

+0

@ जो हाँ, आम तौर पर यह बहुत विश्वसनीय नहीं है। –

+0

@ जो @ विविन उत्तर के लिए धन्यवाद! =) 90% से अधिक सफलता अनुपात प्राप्त करने का एक तरीका होना चाहिए? – RadiantHex

1

ज्यादातर मामलों में हाँ, लेकिन यह वेब अनुप्रयोग सर्वर पर निर्भर करता है। कुछ डिस्कनेक्ट का पता लगा सकते हैं और अनुरोध के साथ बंद कर सकते हैं।

+1

उत्तर के लिए धन्यवाद! =) मैं अजगर का उपयोग कर रहा हूं, और विभिन्न नेटवर्किंग पुस्तकालयों में देख रहा हूं। – RadiantHex

संबंधित मुद्दे