2011-05-31 15 views
8

मैं एक साइट पर काम कर रहा हूं, जहां हमें XML- फ़ाइल से जानकारी मिलती है। यह बहुत अच्छा काम करता है, लेकिन अब मुझे सामग्री का एक स्लाइडर बनाना होगा। ऐसा करने के लिए, मैं jCarousel का उपयोग करूंगा जो दावा करता है कि वे कॉलबैक फ़ंक्शन को कॉल करके गतिशील रूप से लोड की गई सामग्री के साथ ऐसा कर सकते हैं।सफलता के बाद अजाक्स कॉल फ़ंक्शन

हालांकि, मैं प्रारंभिक AJAX लोड नहीं कर सकता, जब मैं सफलता पर एक समारोह कहता हूं। मैं क्या गलत कर रहा हूं?

$(document).ready(function() { 
    $.ajax({ 
     type: "GET", 
     //Url to the XML-file 
     url: "data_flash_0303.xml", 
     dataType: "xml", 
     success: hulabula() 
    }); 

    function hulabula(xml) { 
      $(xml).find('top').each(function() { 
       var headline = $(this).find('headline1').text(); 
       var headlineTag = $(this).find('headline2').text(); 

       $(".wunMobile h2 strong").text(headline + " "); 
       $(".wunMobile h2 span").text(headlineTag); 
      }); 

      .............. 

क्या मैं कुछ गलत कर रहा हूं ??? या क्या यह एक पूरी तरह से भिन्न जगह है जिसे मुझे देखना है? :-)

उत्तर

14

hulabula के बजाय hulabula उपयोग() या ajax विकल्पों के लिए सीधे समारोह पारित:

1.

$.ajax({ 
    type: "GET", 
    //Url to the XML-file 
    url: "data_flash_0303.xml", 
    dataType: "xml", 
    success: hulabula 
}); 

2.

$.ajax({ 
    type: "GET", 
    //Url to the XML-file 
    url: "data_flash_0303.xml", 
    dataType: "xml", 
    success: function(xml) { /* ... */ } 
}); 
+0

कैसे डेटा वस्तु पारित करने के लिए? (इस मामले में एक्सएमएल) –

4

उपयोग $.when

function hulabula(xml) { 
      $(xml).find('top').each(function() { 
       var headline = $(this).find('headline1').text(); 
       var headlineTag = $(this).find('headline2').text(); 

       $(".wunMobile h2 strong").text(headline + " "); 
       $(".wunMobile h2 span").text(headlineTag); 
      }); 
} 


var ajaxCall = $.ajax({ 
     type: "GET", 
     //Url to the XML-file 
     url: "data_flash_0303.xml", 
     dataType: "xml" 
    }); 

//Use deferred objects 

$.when(ajaxCall) 
.then(function(xml) { hulabula(xml); }); 
+0

हुलाबुला बंद नहीं है। इसे कहां बंद किया जाना चाहिए? –

+0

@ केनेथ: उत्तर संपादित किया। – dhinesh

0

आप इस तरह यह कर सकते हैं:

$.post("user/get-ups-rates", { cart_id: cart_id, product_id: product_id, service_id:service_id }) 
    .done(function(data) { 
     el.parent().find('.upsResult').html('UPS Shipping Rate Is $'+data.rate); 
    }) 
    .fail(function(data) { 
      el.parent().find('.upsResult').html('<p style="color:red">UPS Service Error Occured. </p>'); 
    }) 
    .complete(function (data) { 
     setShippingOptions(cart_id,product_id,service_id,data.rate); 
    }); 

बस में फ़ंक्शन को कॉल 'पूर्ण' में नहीं 'पूर्ण' या 'सफलता'

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