/ / जावास्क्रिप्ट: सर्वर को कॉल करते समय फ्रीजर से ब्राउज़र को रोकना - जावास्क्रिप्ट, प्रगति-संकेतक

जावास्क्रिप्ट: सर्वर को कॉल करते समय ब्राउज़र को ठंड से रोकना - जावास्क्रिप्ट, प्रगति-सूचक

मैं सिर्फ प्रगति संकेतक प्रदर्शित करने के लिए jquery का उपयोग करता हूंसर्वर को कॉल करने से पहले। कॉल रिटर्न के बाद, मैं प्रगति संकेतक छिपाता हूं। समस्या यह है कि मैं देख रहा हूँ कि प्रगति संकेतक कभी प्रदर्शित नहीं होता है और क्लाइंट विंडो के कॉल आने तक ब्राउज़र विंडो फ्रीज हो जाती है। मेरे द्वारा इसे कैसे रोका जा सकता है। मैं चाहता हूं कि जब कॉल किया जा रहा हो तो प्रगति सूचक को चेतन करना।

मैं सर्वर को कॉल करने के लिए $ .ajax पद्धति का उपयोग कर रहा हूं। यहाँ कोड है। ध्यान दें कि मैं $ .ajax को कॉल नहीं दिखा रहा हूँ क्योंकि यह इनवोक कॉल में दफन है, लेकिन आश्वस्त रहें कि इसे कहा जाता है।

// Show progess indicator while waiting.
var imgAjaxSaving = $("#imgAjaxSaving");
imgAjaxSaving.show();

// Call server
developerServiceProxy.invoke
("SaveAppSpec",
{ "appSpec": appSpec },
function (result)
{
// Hide the progress indicator.
imgAjaxSaving.hide();
},
AjaxError, false, false
);

उत्तर:

जवाब के लिए 2 № 1

आप एक अतुल्यकालिक कॉल का उपयोग कर सकते हैं और प्रगति बार को छिपाने के लिए कॉलबैक फ़ंक्शन का उपयोग कर सकते हैं।

की ओर देखें:

http://api.jquery.com/jQuery.ajax/

इसके अलावा, सुनिश्चित करें कि विकल्पों में async सच है (यह डिफ़ॉल्ट है)।