2010-12-15 13 views
11

मैं अपने AJAX कॉल चलते समय लोडिंग छवि दिखाने की कोशिश कर रहा हूं, हालांकि beforeSend विशेषता का उपयोग करके मेरा परिणाम क्षेत्र बदल नहीं रहा है।jQuery AJAX लोड हो रहा है जबकि jQuery AJAX चल रहा है

$.ajax({ 
    url: "/answer_checker.php", 
    global: false, type: "POST", 
    data: ({...clipped...}), 
    cache: false, 
    beforeSend: function() { 
    $('#response').text('Loading...'); 
    }, 
    success: function(html) { 
    $('#response').html(html); 
    } 
} 

अग्रिम धन्यवाद।

+0

आपके अन्य विकल्प क्या हैं, उदाहरण के लिए यह 'async: false' मौका है? –

+0

'वैश्विक: झूठा, प्रकार:" पोस्ट ", डेटा: ({...}), कैश: झूठी 'मैं' async' –

उत्तर

8

मैं एक समाधान है, यह नहीं हो सकता है, लेकिन यह है इस मामले में काम किया।

$('input').keyup(function() { 

    $('#response').text('loading...'); 

    $.ajax({ 
    url: "/answer_checker.php", 
    global: false, type: "POST", 
    data: ({...clipped...}), 
    cache: false, 
    success: function(html) { 
     $('#response').html(html); 
    } 
    }); 
}); 

ajax समारोह यह ajax कॉल अपडेट हो जाता है जब तक एक ही सामग्री लोड हो रहा है पाठ दिखा बनी हुई है कॉल करने से पहले resonce सामग्री की स्थापना करके।

उत्तर देने का समय लेने वाले सभी लोगों के लिए धन्यवाद।

एलन

+0

यह करना आसान और आसान तरीका है, मैं हमेशा वही करता हूं –

3

आप के बाद cache: false

+0

का उपयोग नहीं कर रहा हूं, आपके उत्तर देने के लिए धन्यवाद, मैंने अभी अतिरिक्त विकल्पों को जोड़ा है जो मैं उपयोग कर रहा था। –

2

एक अल्पविराम लापता थे कर रहे हैं आप निम्न का उपयोग कर सकते हैं: यह करने के लिए सबसे अच्छा तरीका है

$('#tblLoading').ajaxStart(function() { $(this).show(); }); 
$('#tblLoading').ajaxComplete(function() { $(this).hide(); }); 
19

मुझे एक ही समस्या थी। मेरी समस्या को हल करने के लिए, मैंने .text को .html के साथ, पहले सेक्शन अनुभाग में बदल दिया है और मेरी स्थिति रखने वाले तत्व में सम्मिलित करने के लिए एक HTML टैग बनाया है। सफलता फ़ंक्शन ने .text() फ़ंक्शन द्वारा बनाई गई सामग्री को प्रतिस्थापित नहीं किया है, लेकिन यह .html() फ़ंक्शन द्वारा बनाई गई सामग्री को प्रतिस्थापित करता है।

$.ajax({ 
    url: "/answer_checker.php", 
    global: false, type: "POST", 
    data: ({...clipped...}), 
    cache: false, 
    beforeSend: function() { 
    $('#response').html("<img src='/images/loading.gif' />"); 
    }, 
    success: function(html) { 
    $('#response').html(html); 
    } 
} 
संबंधित मुद्दे