अजाक्स कॉलबैक का उपयोग करता है, क्योंकि यह A
तुल्यकालिक है।AJAX कॉल पर ब्लॉक कैसे करें (मैं इसे ब्लॉक करना चाहता हूं)
मैं दूरदराज के यूआरएल ब्लॉक करने के लिए अपने कॉल चाहते कुछ जवाब वहाँ है, वास्तव में अजाक्स के रूप में जब तक है, लेकिन अतुल्यकालिक हिस्सा बिना, या मुझे कहना होगा कि मैं एक JAX कॉल करनी है।
वहाँ निम्नलिखित ऐसा करने के लिए किसी भी तकनीक (का उपयोग करता है JQuery) है (... JQuery या कुछ और के साथ समाधान):
function get_data() {
$.ajax({
type : "POST",
url : "/foo"
}).done(function(data, textStatus, jqXHR) {
return data;
}).fail(function(jqXHR, textStatus) {
return null;
});
}
var data = get_data();
// process `data`
मैं बस सोच रहा हूँ - सीखना चाहते हैं।
दरअसल ऐसे समय होते हैं जब एक उत्तर ठीक होने तक अवरुद्ध हो जाता है। मैं यह नहीं कह रहा हूं कि मैं ब्राउज़र को ब्लॉक करना चाहता हूं, बस स्क्रिप्ट रनटाइम।
लिखने 'async होने के लिए नहीं करना चाहती: ajax विकल्प – diEcho
jQuery $ .ajax है' async' संपत्ति के साथ FALSE'। यदि आप इसे गलत पर सेट करते हैं तो यह अवरुद्ध होगा। – osoner
संभावित डुप्लिकेट [jquery के साथ सिंक्रोनस कॉल] (http://stackoverflow.com/questions/2942544/synchronous-calls-with-jquery) - हालांकि आप ब्राउज़र को अवरुद्ध किए बिना रनटाइम को अवरुद्ध नहीं कर सकते हैं। और आप कॉलबैक से प्रतिक्रिया वापस नहीं कर सकते हैं, आपको इसे एक चर को असाइन करना होगा और उसे वास्तविक फ़ंक्शन से वापस करना होगा। –