2009-10-27 18 views
10

Sto provando a caricare un elemento DIV da una pagina esterna nella mia pagina corrente utilizzando la funzione Ajax/jQuery.ajax. Mentre sono riuscito a caricare un'intera pagina esterna, non riesco a caricare solo l'elemento DIV.Utilizzare la funzione Ajax() in Jquery per caricare PARTE di una pagina esterna in div

Ecco il mio codice:

$("a").click(function() { 
    /* grabs URL from HREF attribute then adds an */ 
    /* ID from the DIV I want to grab data from */ 
    var myUrl = $(this).attr("href") + "#external-div"; 
    $.ajax({ 
    url: myUrl, 
    success: function(html) { 
    /* loads external content into current div element */ 
    $("#current-div").append(html); 
    } 
    }); 
    return false; 
}); 

afferra l'attributo HREF senza alcuna difficoltà, ma non aggiungerà "# esterno-div" per l'URL. Qualche idea?

Grazie mille!

~ Jared Crossley

+0

L'URL che si sta richiedendo sta ricevendo "# external-div" su di esso, ma qualunque backend si sta contattando non capisce che si desidera solo quel div. – wambotron

risposta

11

Se si voleva tornare solo che div è possibile utilizzare il metodo di jQuery load per caricare semplicemente il contenuto restituito nel vostro #current-div ala

$("a").click(function() { 
    /* grabs URL from HREF attribute then adds an */ 
    /* ID from the DIV I want to grab data from */ 
    var myUrl = $(this).attr("href") + " #external-div"; 
    $("#current-div").load(myUrl); 
    return false; 
}); 

Date un'occhiata al jQuery Ajax/load documentation

+0

Ciao Quintin, Grazie per la tua rapida risposta. Preferirei non utilizzare il metodo di caricamento in quanto limita il tipo di effetto concatenamento e gestione dei dati che posso fare, ma al momento è l'unica opzione di cui sono a conoscenza. Grazie ancora per la tua risposta. Qualcun altro sa se la funzione Ajax/jQuery.ajax mi consentirà di caricare un div esterno? – user196986

+0

Non è del tutto vero, è ancora possibile fornire un callback per il metodo di caricamento e applicare il concatenamento in esso, lo scenario (tramite codice) che viene descritto sembra essere qualcosa oltre il carico che può fare. C'è qualcosa in particolare a parte quello che hai postato che stai cercando di realizzare? –

+0

Buon punto. Suppongo che la mia domanda non sia stata completamente completa. Il metodo di caricamento funziona bene, ma ci sono altri due scenari in cui potrei trovarmi. Scenario 1) Potrebbe essere necessario caricare dati XML (anziché HTML) e/o eseguire un POST su un modulo. Scenario 2) Per l'esempio sopra, mi piacerebbe svanire il contenuto corrente, caricare il nuovo contenuto, quindi sfumare nel nuovo contenuto. Tuttavia, non appena chiamo il metodo load(), carica istantaneamente il nuovo contenuto anziché aspettare che il contenuto precedente si dissolva completamente. Le mie scuse per non essere più chiaro. – user196986

Problemi correlati