को पूरा करने के लिए नवीनतम अनुरोध की प्रतीक्षा करें मेरे पास एक टेक्स्टबॉक्स है कि प्रत्येक बार जब कोई उपयोगकर्ता एक पत्र इनपुट करता है तो मैं एक AJAX अनुरोध के साथ एक खोज करता हूं और उपयोगकर्ता के लिए परिणाम "लाइव" दिखाता हूं। अक्सर जब उपयोगकर्ता अक्षरों को टाइप करता है तो उपयोगकर्ता को एक नया पत्र इनपुट करने के लिए अनुरोध करने के लिए अधिक समय लगता है, इसलिए पहले व्यक्ति को समाप्त होने से पहले एक नया अनुरोध किया जाता है। अगर मैं अगला अनुरोध करने से पहले पहला व्यक्ति समाप्त कर सकता तो यह बेहतर होगा। क्या नवीनतम अनुरोध समाप्त होने पर केवल एक नया अनुरोध करने का कोई अच्छा तरीका है?Jquery AJAX अनुरोध,
यह मेरा jQuery कोड है:
$("#MyTextBox").change(function() {
if (this.value.length > 2) {
$.ajax({
type: "GET",
url: "http://www.domain.com/Service.svc/Search?keyword=" + this.value,
dataType: "json",
success: function(data) {
//here I have some code that shows the result for the user
}
});
}
});
धन्यवाद! यह ठीक वही है जिसकी मुझे तलाश थी। लेकिन किसी कारण से जब मैं अपने पाठ में टाइप करता हूं तो ऐसा लगता है कि जब भी मैं एक पत्र दर्ज करता हूं तो यह थोड़ा छोटी गाड़ी होती है और प्रत्येक पत्र एक प्रकार की देरी के साथ दिखाई देता है। AJAX अनुरोध async भेजा जाना चाहिए ताकि यह टेक्स्टबॉक्स को प्रभावित न करे? – Martin
अनुरोध विफल होने पर 'सफलता' की बजाय 'पूर्ण' सेटिंग में 'request_in_progress' जैसे क्लीनअप कोड के साथ फ़ंक्शन असाइन करना बेहतर होगा। –