Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [jQuery] callback dopo $.ajax

    Ciao ragazzi vi faccio una omanda che sicuramente vi risulterà semplicissima ma che non riesco bene a capire...

    Mettiamo il caso io abbia una semplicissima richiesta ajax che mi faccia tornare un file xml:

    codice:
         	$(document).ready(function(){
    			$.ajax({
    				type: "GET",
    				url: "sites.xml",
    				dataType: "xml",
    				success: function(xml)
    				{ 
    				  $(xml).find('site').each(function(){
    					  var id = $(this).attr('id');
    					  var title = $(this).find('title').text();
    					  var url = $(this).find('url').text();
    					  $('<div class="items" id="link_'+id+'"></div>').html(''+title+'').appendTo('#page-wrap');
    					  $(this).find('desc').each(function(){
    						  var brief = $(this).find('brief').text();
    						  var long = $(this).find('long').text();
    						  $('<div class="brief"></div>').html(brief).appendTo('#link_'+id);
    						  $('<div class="long"></div>').html(long).appendTo('#link_'+id);
    					  });
    				  });
    				}
    			});
    		});
    Bene, se io volessi che al success richiamassi una funzione che mi faccia la stessa cosa ma che sia scritta a parte e non di seguito alla richiesta come devo fare?

    Vorrei che mi richiamasse una funzione tipo:
    codice:
    		var XmlParse = 
    		{
    			parseIT : function(xml)
    			{
    			  $(xml).find('site').each(function(){
    				  var id = $(this).attr('id');
    				  var title = $(this).find('title').text();
    				  var url = $(this).find('url').text();
    				  $('<div class="items" id="link_'+id+'"></div>').html(''+title+'').appendTo('#page-wrap');
    				  $(this).find('desc').each(function(){
    					  var brief = $(this).find('brief').text();
    					  var long = $(this).find('long').text();
    					  $('<div class="brief"></div>').html(brief).appendTo('#link_'+id);
    					  $('<div class="long"></div>').html(long).appendTo('#link_'+id);
    				  });
    			  });
    			}
    		};
    Ma non riesco a fare una cosa del genere.... Dove sbaglio?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    success: function(xml)
    {
    NuovaFunzione(xml)
    }

    Io userei un altro nome per la variabile "xml" meglio "data" non vorrei fosse una parola riservata
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Mah non starei a creare una closure, farei semplicemente:

    codice:
    //...
    success: XMLParse.parseIT,
    //...
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  4. #4
    Grazie Ragazziii!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.