Vorrei sapere se c’è qualche differenza nella perfomance (o differenza)
Tra questo:
$(selector).load('page #myid');
e
$.get('page',function(data){ $(selector).html( $(data).find('#myid') ); /* depending the dom tree it should be .filter() */ })
Direi che usare load () o .get () ha più a che fare con le tue intenzioni e i tuoi requisiti piuttosto che con le prestazioni.
Caricare()
.load()
è per il caricamento facile / semplice di un documento o di una parte di esso.
Caricherà il documento completo e quindi usando innerHTML
analizzerà l’HTML per restituire solo la parte a cui sei interessato.
Se hai solo bisogno di un modo veloce per caricare alcuni contenuti in un div, $(element).load(url, selector)
è la strada da percorrere. Suppongo che load()
sia ottimizzato per questo.
Ottenere()
A differenza di load()
, .get()
consente l’impostazione di dataType
per una maggiore flessibilità come JSONP per le richieste tra domini.
Implementa anche l’interfaccia di promise
, dandole tutte le funzionalità di un Deferred Object
.
Dai documenti:
L’interfaccia Promise consente inoltre i metodi Ajax di jQuery, tra cui $ .get (), per concatenare più callback .done (), .fail () e .always () su una singola richiesta e persino per assegnare questi callback dopo che la richiesta potrebbe Completato. Se la richiesta è già completa, la richiamata viene immediatamente triggersta.
Sommario
A un livello molto basilare, non dovrebbe esserci alcuna differenza di prestazioni .load(url, selector)
tra un semplice .load(url, selector)
e .get(url, callback)
. L’utilizzo di entrambi dovrebbe andare bene.
Penserei, non c’è giusto o sbagliato qui in quanto tale. Usa ciò che più si adatta alle tue esigenze.
Fai una domanda simile a:
Hai bisogno di un dominio incrociato (JSONP)?
Hai bisogno di catena .fail()
, .done()
, ecc.?
Hai bisogno di una delle funzioni get()
offerte che load()
non ha?
…
Se usi load()
o get()
dipende dalle tue esigenze. Le prestazioni sono secondarie in questo caso.